| Summary: | [null] external annotations should apply to project dependencies, too | ||
|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | Stephan Herrmann <stephan.herrmann> |
| Component: | Core | Assignee: | Stephan Herrmann <stephan.herrmann> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | jarthana, manoj.palat, stephan.herrmann |
| Version: | 4.6 | ||
| Target Milestone: | 4.6 M6 | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: |
https://git.eclipse.org/r/67381 https://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=c96202cbcb2ef06c10430e9d0f011fe30e627a82 |
||
| Whiteboard: | |||
|
Description
Stephan Herrmann
For the builder this is straight-forward, but unfortunately the reconciler prefers reading source files from dependent projects. For those we have no mechanism in place to overlay external annotations. New Gerrit change created: https://git.eclipse.org/r/67381 (In reply to Eclipse Genie from comment #2) > New Gerrit change created: https://git.eclipse.org/r/67381 Initial draft, several FIXMEs remain, no tests yet, but for simple scenarios this already works. Basic strategy for the reconciler: pipe the externalAnnotationPath and eventually an ExternalAnnotationProvider all the way into SourceTypeBinding, where resolveTypesFor(MethodBinding) / resolveTypeFor(FieldBinding) will "improve" the resolved types using an ITypeAnnotationWalker. (A visitor for deeply annotating still needs to be constructed, but the direction seems clear already). Jay, FYI: this change once more increases builder.State.VERSION. Gerrit change https://git.eclipse.org/r/67381 was merged to [master]. Commit: http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=c96202cbcb2ef06c10430e9d0f011fe30e627a82 (In reply to Eclipse Genie from comment #4) > Gerrit change https://git.eclipse.org/r/67381 was merged to [master]. > Commit: > http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=c96202cbcb2ef06c10430e9d0f011fe30e627a82 > Release for 4.6 M6 Implementation: - feed info about external annotation location through more call chains - invented new ExternalAnnotationSuperimposer to massage STB, too. (incl. some minor bug fixes concerning external annotations here and there). Verified for Eclipse Neon 4.6 M6 with Build id: I20160315-2000 |