Skip to content

Commit b1d8975

Browse files
committed
fixes #1376 symbols search works like full text search
1 parent 5026156 commit b1d8975

27 files changed

+95
-216
lines changed

src/org/opensolaris/opengrok/analysis/FileAnalyzer.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
2222
* Use is subject to license terms.
2323
*/
2424
package org.opensolaris.opengrok.analysis;
@@ -178,9 +178,12 @@ public String getFileTypeName() {
178178
public void analyze(Document doc, StreamSource src, Writer xrefOut) throws IOException {
179179
// not used
180180
}
181-
181+
182+
// you analyzer HAS to override this to get proper symbols in results
183+
protected JFlexTokenizer SymbolTokenizer=new PlainSymbolTokenizer();
184+
182185
@Override
183-
public TokenStreamComponents createComponents(String fieldName) {
186+
protected TokenStreamComponents createComponents(String fieldName) {
184187
switch (fieldName) {
185188
case "full":
186189
return new TokenStreamComponents(new PlainFullTokenizer());
@@ -189,7 +192,9 @@ public TokenStreamComponents createComponents(String fieldName) {
189192
return new TokenStreamComponents(new PathTokenizer());
190193
case "hist":
191194
return new HistoryAnalyzer().createComponents(fieldName);
192-
case "refs":
195+
case "refs": {
196+
return new TokenStreamComponents(SymbolTokenizer);
197+
}
193198
case "defs":
194199
return new TokenStreamComponents(new PlainSymbolTokenizer());
195200
default:

src/org/opensolaris/opengrok/analysis/archive/BZip2Analyzer.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
2222
*/
2323
package org.opensolaris.opengrok.analysis.archive;
2424

@@ -103,13 +103,5 @@ public InputStream getStream() throws IOException {
103103
}
104104
}
105105
};
106-
}
107-
108-
@Override
109-
public TokenStreamComponents createComponents(String fieldName) {
110-
if (fa != null) {
111-
return fa.createComponents(fieldName);
112-
}
113-
return super.createComponents(fieldName);
114-
}
106+
}
115107
}

src/org/opensolaris/opengrok/analysis/archive/GZIPAnalyzer.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
2222
*/
2323
package org.opensolaris.opengrok.analysis.archive;
2424

@@ -107,13 +107,5 @@ public InputStream getStream() throws IOException {
107107
new GZIPInputStream(src.getStream()));
108108
}
109109
};
110-
}
111-
112-
@Override
113-
public TokenStreamComponents createComponents(String fieldName) {
114-
if (fa != null) {
115-
return fa.createComponents(fieldName);
116-
}
117-
return super.createComponents(fieldName);
118-
}
110+
}
119111
}

src/org/opensolaris/opengrok/analysis/c/CAnalyzer.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
2222
*/
2323
package org.opensolaris.opengrok.analysis.c;
2424

@@ -27,7 +27,6 @@
2727
import java.io.Writer;
2828
import org.opensolaris.opengrok.analysis.Definitions;
2929
import org.opensolaris.opengrok.analysis.FileAnalyzerFactory;
30-
import org.opensolaris.opengrok.analysis.JFlexTokenizer;
3130
import org.opensolaris.opengrok.analysis.JFlexXref;
3231
import org.opensolaris.opengrok.analysis.plain.AbstractSourceCodeAnalyzer;
3332
import org.opensolaris.opengrok.configuration.Project;
@@ -44,16 +43,13 @@ public class CAnalyzer extends AbstractSourceCodeAnalyzer {
4443

4544
/**
4645
* Creates a new instance of CAnalyzer
46+
* @param factory name
4747
*/
4848
protected CAnalyzer(FileAnalyzerFactory factory) {
4949
super(factory);
50+
SymbolTokenizer=new CSymbolTokenizer(null);
5051
}
51-
52-
@Override
53-
protected JFlexTokenizer newSymbolTokenizer(Reader reader) {
54-
return new CSymbolTokenizer(reader);
55-
}
56-
52+
5753
@Override
5854
protected JFlexXref newXref(Reader reader) {
5955
return new CXref(reader);

src/org/opensolaris/opengrok/analysis/c/CxxAnalyzer.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
2222
*/
2323
package org.opensolaris.opengrok.analysis.c;
2424

@@ -27,7 +27,6 @@
2727
import java.io.Writer;
2828
import org.opensolaris.opengrok.analysis.Definitions;
2929
import org.opensolaris.opengrok.analysis.FileAnalyzerFactory;
30-
import org.opensolaris.opengrok.analysis.JFlexTokenizer;
3130
import org.opensolaris.opengrok.analysis.JFlexXref;
3231
import org.opensolaris.opengrok.analysis.plain.AbstractSourceCodeAnalyzer;
3332
import org.opensolaris.opengrok.configuration.Project;
@@ -42,15 +41,12 @@ public class CxxAnalyzer extends AbstractSourceCodeAnalyzer {
4241

4342
/**
4443
* Creates a new instance of CAnalyzer
44+
* @param factory name
4545
*/
4646
protected CxxAnalyzer(FileAnalyzerFactory factory) {
4747
super(factory);
48-
}
49-
50-
@Override
51-
protected JFlexTokenizer newSymbolTokenizer(Reader reader) {
52-
return new CxxSymbolTokenizer(reader);
53-
}
48+
SymbolTokenizer=new CxxSymbolTokenizer(null);
49+
}
5450

5551
@Override
5652
protected JFlexXref newXref(Reader reader) {

src/org/opensolaris/opengrok/analysis/clojure/ClojureAnalyzer.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
2222
*/
2323
package org.opensolaris.opengrok.analysis.clojure;
2424

@@ -27,7 +27,6 @@
2727
import java.io.Writer;
2828
import org.opensolaris.opengrok.analysis.Definitions;
2929
import org.opensolaris.opengrok.analysis.FileAnalyzerFactory;
30-
import org.opensolaris.opengrok.analysis.JFlexTokenizer;
3130
import org.opensolaris.opengrok.analysis.JFlexXref;
3231
import org.opensolaris.opengrok.analysis.plain.AbstractSourceCodeAnalyzer;
3332
import org.opensolaris.opengrok.configuration.Project;
@@ -37,13 +36,9 @@ public class ClojureAnalyzer extends AbstractSourceCodeAnalyzer {
3736

3837
protected ClojureAnalyzer(FileAnalyzerFactory factory) {
3938
super(factory);
39+
SymbolTokenizer=new ClojureSymbolTokenizer(null);
4040
}
41-
42-
@Override
43-
protected JFlexTokenizer newSymbolTokenizer(Reader reader) {
44-
return new ClojureSymbolTokenizer(reader);
45-
}
46-
41+
4742
@Override
4843
protected JFlexXref newXref(Reader reader) {
4944
return new ClojureXref(reader);

src/org/opensolaris/opengrok/analysis/csharp/CSharpAnalyzer.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
2222
*/
2323
package org.opensolaris.opengrok.analysis.csharp;
2424

@@ -41,13 +41,9 @@ public class CSharpAnalyzer extends AbstractSourceCodeAnalyzer {
4141

4242
protected CSharpAnalyzer(FileAnalyzerFactory factory) {
4343
super(factory);
44+
SymbolTokenizer=new CSharpSymbolTokenizer(null);
4445
}
45-
46-
@Override
47-
protected JFlexTokenizer newSymbolTokenizer(Reader reader) {
48-
return new CSharpSymbolTokenizer(reader);
49-
}
50-
46+
5147
@Override
5248
protected JFlexXref newXref(Reader reader) {
5349
return new CSharpXref(reader);

src/org/opensolaris/opengrok/analysis/erlang/ErlangAnalyzer.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2015, 2017 Oracle and/or its affiliates. All rights reserved.
2222
*/
2323

2424
package org.opensolaris.opengrok.analysis.erlang;
@@ -28,7 +28,6 @@
2828
import java.io.Writer;
2929
import org.opensolaris.opengrok.analysis.Definitions;
3030
import org.opensolaris.opengrok.analysis.FileAnalyzerFactory;
31-
import org.opensolaris.opengrok.analysis.JFlexTokenizer;
3231
import org.opensolaris.opengrok.analysis.JFlexXref;
3332
import org.opensolaris.opengrok.analysis.plain.AbstractSourceCodeAnalyzer;
3433
import org.opensolaris.opengrok.configuration.Project;
@@ -38,21 +37,18 @@ public class ErlangAnalyzer extends AbstractSourceCodeAnalyzer {
3837

3938
/**
4039
* Creates a new instance of ErlangAnalyzer
40+
* @param factory name
4141
*/
4242
protected ErlangAnalyzer(FileAnalyzerFactory factory) {
4343
super(factory);
44+
SymbolTokenizer=new ErlangSymbolTokenizer(null);
4445
}
4546

4647
// @Override
4748
// protected JFlexScopeParser newScopeParser(Reader reader) {
4849
// return new ErlangScopeParser(reader);
4950
// }
50-
51-
@Override
52-
protected JFlexTokenizer newSymbolTokenizer(Reader reader) {
53-
return new ErlangSymbolTokenizer(reader);
54-
}
55-
51+
5652
@Override
5753
protected JFlexXref newXref(Reader reader) {
5854
return new ErlangXref(reader);

src/org/opensolaris/opengrok/analysis/fortran/FortranAnalyzer.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
2222
*/
2323
package org.opensolaris.opengrok.analysis.fortran;
2424

2525
import java.io.IOException;
2626
import java.io.Reader;
2727
import java.io.Writer;
2828
import org.opensolaris.opengrok.analysis.Definitions;
29-
import org.opensolaris.opengrok.analysis.JFlexTokenizer;
3029
import org.opensolaris.opengrok.analysis.JFlexXref;
3130
import org.opensolaris.opengrok.analysis.plain.AbstractSourceCodeAnalyzer;
3231
import org.opensolaris.opengrok.configuration.Project;
@@ -41,13 +40,9 @@ public class FortranAnalyzer extends AbstractSourceCodeAnalyzer {
4140

4241
FortranAnalyzer(FortranAnalyzerFactory factory) {
4342
super(factory);
43+
SymbolTokenizer=new FortranSymbolTokenizer(null);
4444
}
45-
46-
@Override
47-
protected JFlexTokenizer newSymbolTokenizer(Reader reader) {
48-
return new FortranSymbolTokenizer(reader);
49-
}
50-
45+
5146
@Override
5247
protected JFlexXref newXref(Reader reader) {
5348
return new FortranXref(reader);

src/org/opensolaris/opengrok/analysis/golang/GolangAnalyzer.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2015, 2017 Oracle and/or its affiliates. All rights reserved.
2222
*/
2323

2424
package org.opensolaris.opengrok.analysis.golang;
@@ -28,7 +28,6 @@
2828
import java.io.Writer;
2929
import org.opensolaris.opengrok.analysis.Definitions;
3030
import org.opensolaris.opengrok.analysis.FileAnalyzerFactory;
31-
import org.opensolaris.opengrok.analysis.JFlexTokenizer;
3231
import org.opensolaris.opengrok.analysis.JFlexXref;
3332
import org.opensolaris.opengrok.analysis.plain.AbstractSourceCodeAnalyzer;
3433
import org.opensolaris.opengrok.configuration.Project;
@@ -42,16 +41,12 @@ public class GolangAnalyzer extends AbstractSourceCodeAnalyzer {
4241

4342
/**
4443
* Creates a new instance of GolangAnalyzer
45-
* @param factory
44+
* @param factory name
4645
*/
4746
protected GolangAnalyzer(FileAnalyzerFactory factory) {
4847
super(factory);
49-
}
50-
51-
@Override
52-
protected JFlexTokenizer newSymbolTokenizer(Reader reader) {
53-
return new GolangSymbolTokenizer(reader);
54-
}
48+
SymbolTokenizer=new GolangSymbolTokenizer(null);
49+
}
5550

5651
@Override
5752
protected JFlexXref newXref(Reader reader) {

0 commit comments

Comments
 (0)