Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: go to implementations for dependency sources #5623

Merged
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
ebf5157
feature: index overridden symbols in top level
kasiaMarek Aug 31, 2023
7b95aba
feature: collect overridden symbols in Scala toplevel mtags
kasiaMarek Aug 31, 2023
950aa04
feature: index overriden symbols
kasiaMarek Sep 4, 2023
1d4dada
feature: use overridden index information for finding implementations…
kasiaMarek Sep 5, 2023
5fa2a66
store type hierarchy information
kasiaMarek Sep 6, 2023
57694a8
bugfix: cover `class A extends b.B` when indexing type hierarchy
kasiaMarek Sep 7, 2023
8a6c7b6
tests
kasiaMarek Sep 7, 2023
ed822f6
add benchmark
kasiaMarek Sep 7, 2023
97bca82
review fixes
kasiaMarek Sep 15, 2023
46fb233
review fixes
kasiaMarek Oct 27, 2023
ede5b9a
get rid of enriched document
kasiaMarek Oct 30, 2023
25bf321
use `toAbsolutePath` in JarTopLevels
kasiaMarek Oct 30, 2023
93afe40
Merge branch 'dev' into implementations-for-dependecy-sources
kasiaMarek Nov 21, 2023
83436ad
fixes after merge
kasiaMarek Nov 21, 2023
357b3c0
fix resolving if symbol is defined in the workspace
kasiaMarek Nov 23, 2023
b56da77
add find parents in pc
kasiaMarek Dec 14, 2023
1285672
delete position from classLocation
kasiaMarek Dec 14, 2023
fc5d681
Merge branch 'dev' into implementations-for-dependecy-sources
kasiaMarek Dec 15, 2023
9cd338f
Merge branch 'dev' into implementations-for-dependecy-sources
kasiaMarek Dec 27, 2023
63ae934
Merge branch 'dev' into implementations-for-dependecy-sources
kasiaMarek Jan 2, 2024
f280dd6
delete primary key in type hierarchy
kasiaMarek Jan 2, 2024
5a903ad
fix find parents for Scala 3
kasiaMarek Jan 2, 2024
c0299e5
remove usage of global symbol table from go to implementation
kasiaMarek Jan 16, 2024
22b41d3
move unused methods from implementation provider
kasiaMarek Jan 16, 2024
ecdc166
don't use scala pc for java
kasiaMarek Jan 16, 2024
1d86b8e
make sure found implementations are within build target
kasiaMarek Jan 16, 2024
8c6fdbc
fix oom + format
kasiaMarek Jan 16, 2024
e4b2833
Merge remote-tracking branch 'upstream/main' into implementations-for…
kasiaMarek Feb 9, 2024
3542435
review changes
kasiaMarek Feb 9, 2024
0c22ffc
use scala pc for java files
kasiaMarek Feb 9, 2024
2de93af
Merge remote-tracking branch 'upstream' into implementations-for-depe…
kasiaMarek Feb 20, 2024
80d64f9
make `info` return result exactly for searched symbol
kasiaMarek Feb 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions metals-bench/src/main/scala/bench/MetalsBench.scala
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,20 @@ class MetalsBench {
}
}

@Benchmark
@BenchmarkMode(Array(Mode.SingleShotTime))
def typeHierarchyIndex(): Unit = {
scalaDependencySources.inputs.foreach { input =>
implicit val rc: ReportContext = EmptyReportContext
new ScalaToplevelMtags(
input,
includeInnerClasses = true,
includeMembers = false,
dialects.Scala213,
).index()
}
}

@Benchmark
@BenchmarkMode(Array(Mode.SingleShotTime))
def scalaTokenize(): Unit = {
Expand Down
14 changes: 14 additions & 0 deletions metals/src/main/resources/db/migration/V5__Jar_type_hierarchy.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
-- Type hierarchy information, e.g. symbol: "a/MyException#", extended_name: "Exception"
create table type_hierarchy(
symbol varchar not null,
parent_name varchar not null,
path varchar not null,
jar int,
kasiaMarek marked this conversation as resolved.
Show resolved Hide resolved
is_resolved bit,
foreign key (jar) references indexed_jar (id) on delete cascade
);

create index type_hierarchy_jar on type_hierarchy(jar);

alter table indexed_jar
add type_hierarchy_indexed bit

This file was deleted.

Loading
Loading