Author: scabanovich
Date: 2011-08-09 14:56:16 -0400 (Tue, 09 Aug 2011)
New Revision: 33731
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractTypeDefinition.java
Log:
JBIDE-9484
https://issues.jboss.org/browse/JBIDE-9484
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java 2011-08-09
18:55:45 UTC (rev 33730)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java 2011-08-09
18:56:16 UTC (rev 33731)
@@ -151,17 +151,16 @@
List<TypeDefinition> ds = getDefinitions().getTypeDefinitions();
List<TypeDefinition> result = new ArrayList<TypeDefinition>();
result.addAll(ds);
- Set<IType> types = new HashSet<IType>();
+ Set<String> keys = new HashSet<String>();
for (TypeDefinition d: ds) {
- IType t = d.getType();
- if(t != null) types.add(t);
+ keys.add(d.getKey());
}
for (CDICoreNature p: ps) {
List<TypeDefinition> ds2 = p.getDefinitions().getTypeDefinitions();
for (TypeDefinition d: ds2) {
- IType t = d.getType();
- if(t != null && !types.contains(t)) {
- types.add(t);
+ String key = d.getKey();
+ if(!keys.contains(key)) {
+ keys.add(key);
result.add(d);
}
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractTypeDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractTypeDefinition.java 2011-08-09
18:55:45 UTC (rev 33730)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractTypeDefinition.java 2011-08-09
18:56:16 UTC (rev 33731)
@@ -95,6 +95,18 @@
return parametedType == null ? new HashSet<IParametedType>() :
parametedType.getAllTypes();
}
+ /**
+ * Returns strings that uniquely identifies this definition
+ * @return
+ */
+ public String getKey() {
+ String result = getQualifiedName();
+ if(originalDefinition != null) {
+ result += ":" + originalDefinition.getStartPosition() + ":" +
originalDefinition.getLength();
+ }
+ return result;
+ }
+
public String getContent() {
if(type == null || type.isBinary()) return null;
if(content == null && resource instanceof IFile &&
resource.getName().endsWith(".java")) {