File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ # SemanticDB
2+
3+ To run the tests use two terminals. In the first terminal compile the
4+ ` semanticdb/input ` project whenever sources change in
5+ ` semanticdb/input/src/main/scala/**.scala ` .
6+
7+ ```
8+ cd semanticdb/input
9+ sbt
10+ > compile
11+ ```
12+
13+ In the second terminal, run ` sbt dotty-semanticdb/test ` from the main dotty
14+ build
15+
16+ ```
17+ sbt
18+ > dotty-semanticdb/test
19+ ```
20+
21+ The tests assert that the TASTy to SemanticDB converter produces the same output
22+ as the semanticdb-scalac compiler plugin. Test failures result in diffs like
23+ this
24+
25+ ``` diff
26+ Test dotty.semanticdb.Tests.testExample failed: java.lang.AssertionError:
27+ --- tasty
28+ +++ scala2
29+ - class Example {
30+ - val a: String = "1"
31+ + class Example /*example/Example#*/ {
32+ + val a /*example/Example#a.*/ : String /*scala/Predef.String#*/ = "1"
33+ ```
34+
35+ The lines starting with ` - ` are the output from the TASTy converter and the
36+ lines starting with ` + ` are the output from the semanticdb-scalac compiler
37+ plugin.
38+
39+ Once the TASTy converter is updated to emit correct ` SymbolOccurrence `
40+ (https://scalameta.org/docs/semanticdb/specification.html#symboloccurrence ) then
41+ the "tasty" output should become identical to "scala2" and include inline
42+ comments ` class Example /* pkg/Example# */ ` . The inline comments are read as:
43+ "the symbol ` pkg/Example# ` was resolved next to the class name ` Example ` ".
44+
45+ The spec for SemanticDB symbols can be found here:
46+
47+ - Scala symbols:
48+ https://scalameta.org/docs/semanticdb/specification.html#scala-symbol
49+ - Java symbols:
50+ https://scalameta.org/docs/semanticdb/specification.html#java-symbol
You can’t perform that action at this time.
0 commit comments