mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 14:51:44 +00:00
GRAPH-646: scip syntax java package namespace fix (#63048)
- Fix package declaration queries for Java in scip-syntax - Fix symlink to precise SCIP data in integration tests - Remove colored output from evaluation results
This commit is contained in:
parent
224b3e5830
commit
507668fefd
@ -1 +1,2 @@
|
||||
!testdata/java/index.scip
|
||||
*.snap.new
|
||||
|
||||
@ -372,7 +372,10 @@ impl<'e> EvaluationResult<'e> {
|
||||
writeln!(
|
||||
output,
|
||||
"{}",
|
||||
"How many extra occurrences we reported compared to compiler?".italic()
|
||||
self.render(
|
||||
"How many extra occurrences we reported compared to compiler?".italic(),
|
||||
options
|
||||
)
|
||||
)?;
|
||||
|
||||
for symbol_occurrence in &self.false_positives {
|
||||
|
||||
@ -1 +1 @@
|
||||
../../../../../../bazel-bin/docker-images/syntax-highlighter/crates/scip-treesitter-cli/index-java.scip
|
||||
../../../../../../bazel-bin/docker-images/syntax-highlighter/crates/scip-syntax/index-java.scip
|
||||
@ -3,67 +3,68 @@ source: crates/scip-syntax/tests/integration_test.rs
|
||||
expression: dumped
|
||||
---
|
||||
package MyPackage;
|
||||
// ^^^^^^^^^ definition(Package) scip-ctags MyPackage/
|
||||
|
||||
public class globals {
|
||||
// ^^^^^^^ definition scip-ctags globals#
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#
|
||||
private static int field1;
|
||||
// ^^^^^^ definition scip-ctags globals#field1.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field1.
|
||||
protected static int field2;
|
||||
// ^^^^^^ definition scip-ctags globals#field2.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field2.
|
||||
public static int field3;
|
||||
// ^^^^^^ definition scip-ctags globals#field3.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field3.
|
||||
private int field4;
|
||||
// ^^^^^^ definition scip-ctags globals#field4.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field4.
|
||||
protected int field5;
|
||||
// ^^^^^^ definition scip-ctags globals#field5.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field5.
|
||||
public int field6;
|
||||
// ^^^^^^ definition scip-ctags globals#field6.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field6.
|
||||
|
||||
private static void method1() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method1().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method1().
|
||||
protected static void method2() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method2().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method2().
|
||||
public static void method3() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method3().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method3().
|
||||
private void method4() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method4().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method4().
|
||||
protected void method5() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method5().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method5().
|
||||
public void method6() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method6().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method6().
|
||||
|
||||
public static final String COOLEST_STRING = "probably this one";
|
||||
// ^^^^^^^^^^^^^^ definition scip-ctags globals#COOLEST_STRING.
|
||||
// ^^^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#COOLEST_STRING.
|
||||
|
||||
public class ClassInAClass {
|
||||
// ^^^^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#
|
||||
// ^^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#
|
||||
boolean classy = true;
|
||||
// ^^^^^^ definition scip-ctags globals#ClassInAClass#classy.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#classy.
|
||||
|
||||
public static enum Enum {
|
||||
// ^^^^ definition scip-ctags globals#ClassInAClass#Enum#
|
||||
// ^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#
|
||||
these,
|
||||
// ^^^^^ definition scip-ctags globals#ClassInAClass#Enum#these.
|
||||
// ^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#these.
|
||||
should,
|
||||
// ^^^^^^ definition scip-ctags globals#ClassInAClass#Enum#should.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#should.
|
||||
be,
|
||||
// ^^ definition scip-ctags globals#ClassInAClass#Enum#be.
|
||||
// ^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#be.
|
||||
recognized,
|
||||
// ^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#Enum#recognized.
|
||||
// ^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#recognized.
|
||||
as,
|
||||
// ^^ definition scip-ctags globals#ClassInAClass#Enum#as.
|
||||
// ^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#as.
|
||||
terms
|
||||
// ^^^^^ definition scip-ctags globals#ClassInAClass#Enum#terms.
|
||||
// ^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#terms.
|
||||
}
|
||||
|
||||
public interface Goated {
|
||||
// ^^^^^^ definition scip-ctags globals#ClassInAClass#Goated#
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Goated#
|
||||
boolean withTheSauce();
|
||||
// ^^^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#Goated#withTheSauce().
|
||||
// ^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Goated#withTheSauce().
|
||||
}
|
||||
|
||||
public void myCoolMethod() {
|
||||
// ^^^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#myCoolMethod().
|
||||
// ^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#myCoolMethod().
|
||||
class WhatIsGoingOn {}
|
||||
boolean iThinkThisIsAllowedButWeDontReallyCare = true;
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition local 1
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
source: crates/scip-syntax/tests/integration_test.rs
|
||||
expression: "String::from_utf8(str).unwrap()"
|
||||
---
|
||||
{"precision_percent":"100.0","recall_percent":"37.4","true_positives":"34.0","false_positives":"0.0","false_negatives":"57.0"}
|
||||
{"precision_percent":"94.4","recall_percent":"37.4","true_positives":"34.0","false_positives":"2.0","false_negatives":"57.0"}
|
||||
|
||||
False negatives (FN): 57
|
||||
[FN] src/main/java/Main.java: L0 C8 -- semanticdb maven . . com/
|
||||
@ -63,6 +63,11 @@ False negatives (FN): 57
|
||||
[FN] src/main/java/TodoList.java: L45 C15 -- semanticdb maven jdk 17 java/io/PrintStream#println(+8).
|
||||
[FN] src/main/java/TodoList.java: L45 C38 -- semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#Item#getTitle().
|
||||
|
||||
False positives: 2
|
||||
How many extra occurrences we reported compared to compiler?
|
||||
[FP] src/main/java/Main.java: L0 C8 -- scip-ctags . . . `com.sourcegraph.graph.twodwo`/
|
||||
[FP] src/main/java/TodoList.java: L0 C8 -- scip-ctags . . . `com.sourcegraph.graph.twodwo`/
|
||||
|
||||
True positives: 35
|
||||
[TP] src/main/java/Main.java: L3 C13 -- semanticdb maven . . com/sourcegraph/graph/twodwo/Main#`<init>`().
|
||||
[TP] src/main/java/Main.java: L5 C23 -- semanticdb maven . . com/sourcegraph/graph/twodwo/Main#main().
|
||||
@ -101,10 +106,10 @@ True positives: 35
|
||||
[TP] src/main/java/TodoList.java: L45 C33 -- local doc-1-4
|
||||
|
||||
Symbol mapping
|
||||
scip-ctags . . . Main#
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/Main#
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/Main#`<init>`(). [1/1 occurrences]
|
||||
|
||||
scip-ctags . . . Main#main().
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/Main#main().
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/Main#main(). [1/1 occurrences]
|
||||
|
||||
local doc-0-1
|
||||
@ -116,38 +121,38 @@ local doc-0-2
|
||||
local doc-0-3
|
||||
1.00 local doc-0-2 [2/2 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList# [1/4 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#summarise().
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#summarise().
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#summarise(). [1/2 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#getTodos().
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#getTodos().
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#getTodos(). [1/1 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#addTodo().
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#addTodo().
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#addTodo(). [1/4 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#TodoList().
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#TodoList().
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#`<init>`(). [1/2 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#todos.
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#todos.
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#todos. [1/5 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#Item#
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#Item#
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#Item# [1/5 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#Item#getTitle().
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#Item#getTitle().
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#Item#getTitle(). [1/3 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#Item#Item().
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#Item#Item().
|
||||
0.40 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#Item#`<init>`(). [1/3 occurrences]
|
||||
0.60 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#Item#`<init>`(+1). [1/2 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#Item#done.
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#Item#done.
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#Item#done. [1/4 occurrences]
|
||||
|
||||
scip-ctags . . . TodoList#Item#title.
|
||||
scip-ctags . . . `com.sourcegraph.graph.twodwo`/TodoList#Item#title.
|
||||
1.00 semanticdb maven . . com/sourcegraph/graph/twodwo/TodoList#Item#title. [1/4 occurrences]
|
||||
|
||||
local doc-1-1
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
(program
|
||||
(package_declaration
|
||||
(_)
|
||||
@descriptor.namespace @scope
|
||||
(scoped_identifier)
|
||||
@descriptor.namespace @scope))
|
||||
[
|
||||
(scoped_identifier)
|
||||
(identifier)
|
||||
] @descriptor.namespace @kind.package
|
||||
)
|
||||
) @scope
|
||||
|
||||
(class_declaration name: (_) @descriptor.type) @scope
|
||||
(interface_declaration name: (_) @descriptor.type) @scope
|
||||
|
||||
@ -93,6 +93,7 @@ mod test {
|
||||
generate_tags_and_snapshot!(Scip, test_scip_python_comp, "python-repo-comp.py");
|
||||
generate_tags_and_snapshot!(All, test_tags_ruby, test_scip_ruby, "ruby-globals.rb");
|
||||
generate_tags_and_snapshot!(Scip, test_scip_java, "globals.java");
|
||||
generate_tags_and_snapshot!(Scip, test_scip_java_package_info, "package-info.java");
|
||||
generate_tags_and_snapshot!(
|
||||
All,
|
||||
test_tags_typescript,
|
||||
|
||||
@ -3,72 +3,73 @@ source: crates/syntax-analysis/src/lib.rs
|
||||
expression: dumped
|
||||
---
|
||||
package MyPackage;
|
||||
// ^^^^^^^^^ definition(Package) scip-ctags MyPackage/
|
||||
|
||||
public class globals {
|
||||
// ^^^^^^^ definition scip-ctags globals#
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#
|
||||
private static int field1;
|
||||
// ^^^^^^ definition scip-ctags globals#field1.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field1.
|
||||
protected static int field2;
|
||||
// ^^^^^^ definition scip-ctags globals#field2.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field2.
|
||||
public static int field3;
|
||||
// ^^^^^^ definition scip-ctags globals#field3.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field3.
|
||||
private int field4;
|
||||
// ^^^^^^ definition scip-ctags globals#field4.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field4.
|
||||
protected int field5;
|
||||
// ^^^^^^ definition scip-ctags globals#field5.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field5.
|
||||
public int field6;
|
||||
// ^^^^^^ definition scip-ctags globals#field6.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#field6.
|
||||
|
||||
private static void method1() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method1().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method1().
|
||||
protected static void method2() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method2().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method2().
|
||||
public static void method3() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method3().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method3().
|
||||
private void method4() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method4().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method4().
|
||||
protected void method5() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method5().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method5().
|
||||
public void method6() {}
|
||||
// ^^^^^^^ definition scip-ctags globals#method6().
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#method6().
|
||||
|
||||
public static final String COOLEST_STRING = "probably this one";
|
||||
// ^^^^^^^^^^^^^^ definition scip-ctags globals#COOLEST_STRING.
|
||||
// ^^^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#COOLEST_STRING.
|
||||
|
||||
public record Person (String name, String address) {}
|
||||
// ^^^^^^ definition scip-ctags globals#Person#
|
||||
// ^^^^ definition scip-ctags globals#Person#name.
|
||||
// ^^^^^^^ definition scip-ctags globals#Person#address.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#Person#
|
||||
// ^^^^ definition scip-ctags MyPackage/globals#Person#name.
|
||||
// ^^^^^^^ definition scip-ctags MyPackage/globals#Person#address.
|
||||
|
||||
public class ClassInAClass {
|
||||
// ^^^^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#
|
||||
// ^^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#
|
||||
boolean classy = true;
|
||||
// ^^^^^^ definition scip-ctags globals#ClassInAClass#classy.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#classy.
|
||||
|
||||
public static enum Enum {
|
||||
// ^^^^ definition scip-ctags globals#ClassInAClass#Enum#
|
||||
// ^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#
|
||||
these,
|
||||
// ^^^^^ definition scip-ctags globals#ClassInAClass#Enum#these.
|
||||
// ^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#these.
|
||||
should,
|
||||
// ^^^^^^ definition scip-ctags globals#ClassInAClass#Enum#should.
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#should.
|
||||
be,
|
||||
// ^^ definition scip-ctags globals#ClassInAClass#Enum#be.
|
||||
// ^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#be.
|
||||
recognized,
|
||||
// ^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#Enum#recognized.
|
||||
// ^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#recognized.
|
||||
as,
|
||||
// ^^ definition scip-ctags globals#ClassInAClass#Enum#as.
|
||||
// ^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#as.
|
||||
terms
|
||||
// ^^^^^ definition scip-ctags globals#ClassInAClass#Enum#terms.
|
||||
// ^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Enum#terms.
|
||||
}
|
||||
|
||||
public interface Goated {
|
||||
// ^^^^^^ definition scip-ctags globals#ClassInAClass#Goated#
|
||||
// ^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Goated#
|
||||
boolean withTheSauce();
|
||||
// ^^^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#Goated#withTheSauce().
|
||||
// ^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#Goated#withTheSauce().
|
||||
}
|
||||
|
||||
public void myCoolMethod() {
|
||||
// ^^^^^^^^^^^^ definition scip-ctags globals#ClassInAClass#myCoolMethod().
|
||||
// ^^^^^^^^^^^^ definition scip-ctags MyPackage/globals#ClassInAClass#myCoolMethod().
|
||||
class WhatIsGoingOn {}
|
||||
boolean iThinkThisIsAllowedButWeDontReallyCare = true;
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
---
|
||||
source: crates/syntax-analysis/src/lib.rs
|
||||
expression: dumped
|
||||
---
|
||||
@Deprecated
|
||||
package foo.bar;
|
||||
// ^^^^^^^ definition(Package) scip-ctags `foo.bar`/
|
||||
|
||||
class Baz {}
|
||||
// ^^^ definition scip-ctags `foo.bar`/Baz#
|
||||
|
||||
4
docker-images/syntax-highlighter/crates/syntax-analysis/testdata/package-info.java
vendored
Normal file
4
docker-images/syntax-highlighter/crates/syntax-analysis/testdata/package-info.java
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
@Deprecated
|
||||
package foo.bar;
|
||||
|
||||
class Baz {}
|
||||
Loading…
Reference in New Issue
Block a user