Author: scabanovich
Date: 2009-12-07 09:43:47 -0500 (Mon, 07 Dec 2009)
New Revision: 19079
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/AbstractMemberDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/DefinitionContext.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/MethodDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/CDIBuilderDelegate.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/FileSet.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4943
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 2009-12-07
13:59:39 UTC (rev 19078)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java 2009-12-07
14:43:47 UTC (rev 19079)
@@ -246,4 +246,7 @@
//TODO
}
+ public void registerDefinitions(DefinitionContext newDefinitions) {
+ System.out.println("ok");
+ }
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java 2009-12-07
13:59:39 UTC (rev 19078)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java 2009-12-07
14:43:47 UTC (rev 19079)
@@ -27,11 +27,14 @@
protected void init(IType contextType, DefinitionContext context) throws CoreException
{
IAnnotation[] ts = member.getAnnotations();
- for (int i = 0; i < annotations.size(); i++) {
+ for (int i = 0; i < ts.length; i++) {
AnnotationDeclaration a = new AnnotationDeclaration();
a.setDeclaration(ts[i], contextType);
annotations.add(a);
}
}
+ public List<AnnotationDeclaration> getAnnotations() {
+ return annotations;
+ }
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/DefinitionContext.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/DefinitionContext.java 2009-12-07
13:59:39 UTC (rev 19078)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/DefinitionContext.java 2009-12-07
14:43:47 UTC (rev 19079)
@@ -96,5 +96,6 @@
addType(annotationType.getPath(), annotationType, d);
return kind;
}
+
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/MethodDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/MethodDefinition.java 2009-12-07
13:59:39 UTC (rev 19078)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/MethodDefinition.java 2009-12-07
14:43:47 UTC (rev 19079)
@@ -1,6 +1,8 @@
package org.jboss.tools.cdi.internal.core.impl.definition;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IType;
public class MethodDefinition extends AbstractMemberDefinition {
IMethod method;
@@ -16,4 +18,9 @@
return method;
}
+ protected void init(IType contextType, DefinitionContext context) throws CoreException
{
+ super.init(contextType, context);
+ //TODO process parameters
+
+ }
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java 2009-12-07
13:59:39 UTC (rev 19078)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java 2009-12-07
14:43:47 UTC (rev 19079)
@@ -27,16 +27,29 @@
for (int i = 0; i < fs.length; i++) {
FieldDefinition f = new FieldDefinition();
f.setField(fs[i], context);
- //TODO check if it is annotated
- fields.add(f);
+ int k = getMaxAnnotationKind(f.getAnnotations(), context);
+ if(k >= AnnotationDefinition.CDI) {
+ fields.add(f);
+ }
}
IMethod[] ms = getType().getMethods();
for (int i = 0; i < ms.length; i++) {
MethodDefinition m = new MethodDefinition();
m.setMethod(ms[i], context);
- //TODO check if it is annotated
- methods.add(m);
+ int k = getMaxAnnotationKind(m.getAnnotations(), context);
+ if(k >= AnnotationDefinition.CDI) {
+ methods.add(m);
+ }
}
}
+ private int getMaxAnnotationKind(List<AnnotationDeclaration> as, DefinitionContext
context) throws CoreException {
+ int result = -1;
+ for (AnnotationDeclaration a: as) {
+ int k = context.getAnnotationKind(a.getType());
+ if(k > result) result = k;
+ }
+ return result;
+ }
+
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/CDIBuilderDelegate.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/CDIBuilderDelegate.java 2009-12-07
13:59:39 UTC (rev 19078)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/CDIBuilderDelegate.java 2009-12-07
14:43:47 UTC (rev 19079)
@@ -17,6 +17,7 @@
import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.cdi.internal.core.impl.CDIProject;
import org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext;
+import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
public class CDIBuilderDelegate implements ICDIBuilderDelegate {
@@ -54,8 +55,15 @@
Map<IPath, Set<IType>> cs = fileSet.getClasses();
for (IPath f: cs.keySet()) {
-
+ Set<IType> ts = cs.get(f);
+ for (IType type: ts) {
+ TypeDefinition def = new TypeDefinition();
+ def.setType(type, context);
+ context.addType(f, type, def);
+ }
}
+ projectNature.registerDefinitions(context);
}
+
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/FileSet.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/FileSet.java 2009-12-07
13:59:39 UTC (rev 19078)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/FileSet.java 2009-12-07
14:43:47 UTC (rev 19079)
@@ -8,7 +8,6 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IType;
public class FileSet {