Tests for indexing a PHP AST with Lucene search engine;
[phpeclipse.git] / net.sourceforge.phpeclipse.tests / src / net / sourceforge / phpdt / core / tests / lucene / PHPWriter.java
index bdd54d9..d370d3b 100644 (file)
@@ -4,6 +4,7 @@ import java.io.IOException;
 
 import net.sourceforge.phpeclipse.internal.compiler.ast.AbstractMethodDeclaration;
 import net.sourceforge.phpeclipse.internal.compiler.ast.CompilationUnitDeclaration;
+import net.sourceforge.phpeclipse.internal.compiler.ast.ImportReference;
 import net.sourceforge.phpeclipse.internal.compiler.ast.MethodDeclaration;
 import net.sourceforge.phpeclipse.internal.compiler.ast.TypeDeclaration;
 
@@ -28,11 +29,21 @@ public PHPWriter(String indexPath, boolean create) throws IOException {
                                doc.add(Field.Keyword("filename", file.getName()));
                                doc.add(Field.Keyword("path", file.getProjectRelativePath().toString()));
                        }
+                       if (computedUnit.imports != null) {
+                               ImportReference imp;
+                               for (int i=0; i<computedUnit.imports.length; i++) {
+                                       // add the php include
+                                       imp = computedUnit.imports[i];
+                                       String incl = new String(imp.includeSource);
+                                       doc.add(Field.Keyword("i", incl));
+                                       doc.add(Field.UnIndexed(incl, "include meta-info"));
+                               }
+                       }
                        if (computedUnit.types != null) {
                                Object obj;
                                MethodDeclaration m;
                                TypeDeclaration c;
-                               for (int i = computedUnit.types.size(); --i >= 0;) {
+                               for (int i=0; i<computedUnit.types.size(); i++) {
                                        obj = computedUnit.types.get(i);
                                        if (obj instanceof MethodDeclaration) {
                                                m = (MethodDeclaration) obj;