]
Alexey Kazakov resolved JBIDE-9645.
-----------------------------------
Assignee: Viacheslav Kabanovich (was: Alexey Kazakov)
Resolution: Done
Fixed.
Method EclipseJavaUtil.resolveType returns invalid cached values
----------------------------------------------------------------
Key: JBIDE-9645
URL:
https://issues.jboss.org/browse/JBIDE-9645
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: CDI, common/jst/core
Affects Versions: 3.3.0.M2
Reporter: Viacheslav Kabanovich
Assignee: Viacheslav Kabanovich
Fix For: 3.3.0.M4
EXECUTE: Create beans in cdi project
{code}
public class A {
@Inject B.D a;
}
public class B extends C {
}
public class C {
public static class D {}
}
{code}
ASSERT: Injection point is resolved to C.D - check by open-on.
EXECUTE: copy declaration of class D into class B and wait for the incremental build.
FAILURE: Injection point is still resolved to C.D
EXECUTE: Touch class A by an insignificant modification and wait for the incremental
build.
ASSERT: Injection point is resolved to B.D
This case is not very actual, but reveals the problem in the simplest way. More actual
use case - editing classpath so that a type referenced by a Java source changes
resolution.
Cache is cleaned for a modified file. There is no simple logic in cleaning cache for all
types that may be affected by a modification, and a thorough check may take so much time
that cache will be of no use. I see only one safe solution - to clean cache before each
build.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: