Skip to content

Commit 716b18e

Browse files
committed
Remove redundant scoverage.Statement.source field
It's value is always equal to `scoverage.Location.sourcePath`. Replace it with delegating method with the same name.
1 parent 3518d2f commit 716b18e

11 files changed

+33
-38
lines changed

scalac-scoverage-plugin/src/main/scala/scoverage/Serializer.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ object Serializer {
108108
case "Object" => ClassType.Object
109109
case _ => ClassType.Class
110110
}
111-
Statement(source,
111+
Statement(
112112
Location(_package, _class, fullClassName, classType, method, path),
113113
id,
114114
start,

scalac-scoverage-plugin/src/main/scala/scoverage/coverage.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,7 @@ case class MeasuredFile(source: String, statements: Iterable[Statement])
109109
override def ignoredStatements: Iterable[Statement] = Seq()
110110
}
111111

112-
case class Statement(source: String,
113-
location: Location,
112+
case class Statement(location: Location,
114113
id: Int,
115114
start: Int,
116115
end: Int,
@@ -121,6 +120,7 @@ case class Statement(source: String,
121120
branch: Boolean,
122121
var count: Int = 0,
123122
ignored: Boolean = false) extends java.io.Serializable {
123+
def source = location.sourcePath
124124
def invoked(): Unit = count = count + 1
125125
def isInvoked = count > 0
126126
}

scalac-scoverage-plugin/src/main/scala/scoverage/plugin.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,6 @@ class ScoverageInstrumentationComponent(val global: Global, extraAfterPhase: Opt
202202
case Some(source) =>
203203
val id = statementIds.incrementAndGet
204204
val statement = Statement(
205-
source.path,
206205
location,
207206
id,
208207
safeStart(tree),

scalac-scoverage-plugin/src/main/scala/scoverage/report/ScoverageXmlReader.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ object ScoverageXmlReader {
4343
id = id + 1
4444

4545
coverage add Statement(
46-
source.text,
4746
location,
4847
id,
4948
start.text.toInt,

scalac-scoverage-plugin/src/test/scala/scoverage/CoberturaXmlWriterTest.scala

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,29 +32,28 @@ class CoberturaXmlWriterTest extends FunSuite with BeforeAndAfter with OneInstan
3232

3333
val coverage = scoverage.Coverage()
3434
coverage
35-
.add(Statement(canonicalPath("a.scala"), Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create", canonicalPath("a.scala")),
35+
.add(Statement(Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create", canonicalPath("a.scala")),
3636
1, 2, 3, 12, "", "", "", false, 3))
3737
coverage
38-
.add(Statement(canonicalPath("a.scala"), Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create2", canonicalPath("a.scala")),
38+
.add(Statement(Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create2", canonicalPath("a.scala")),
3939
2, 2, 3, 16, "", "", "", false, 3))
4040
coverage
41-
.add(Statement(canonicalPath("b.scala"), Location("com.sksamuel.scoverage2", "B", "com.sksamuel.scoverage2.B", ClassType.Object, "retrieve", canonicalPath("b.scala")),
41+
.add(Statement(Location("com.sksamuel.scoverage2", "B", "com.sksamuel.scoverage2.B", ClassType.Object, "retrieve", canonicalPath("b.scala")),
4242
3, 2, 3, 21, "", "", "", false, 0))
4343
coverage
44-
.add(Statement(canonicalPath("b.scala"),
45-
Location("com.sksamuel.scoverage2", "B", "B", ClassType.Object, "retrieve2", canonicalPath("b.scala")),
44+
.add(Statement(Location("com.sksamuel.scoverage2", "B", "B", ClassType.Object, "retrieve2", canonicalPath("b.scala")),
4645
4, 2, 3, 9, "", "", "", false, 3))
4746
coverage
48-
.add(Statement(canonicalPath("c.scala"), Location("com.sksamuel.scoverage3", "C", "com.sksamuel.scoverage3.C", ClassType.Object, "update", canonicalPath("c.scala")),
47+
.add(Statement(Location("com.sksamuel.scoverage3", "C", "com.sksamuel.scoverage3.C", ClassType.Object, "update", canonicalPath("c.scala")),
4948
5, 2, 3, 66, "", "", "", true, 3))
5049
coverage
51-
.add(Statement(canonicalPath("c.scala"), Location("com.sksamuel.scoverage3", "C", "com.sksamuel.scoverage3.C", ClassType.Object, "update2", canonicalPath("c.scala")),
50+
.add(Statement(Location("com.sksamuel.scoverage3", "C", "com.sksamuel.scoverage3.C", ClassType.Object, "update2", canonicalPath("c.scala")),
5251
6, 2, 3, 6, "", "", "", true, 3))
5352
coverage
54-
.add(Statement(canonicalPath("d.scala"), Location("com.sksamuel.scoverage4", "D", "com.sksamuel.scoverage4.D", ClassType.Object, "delete", canonicalPath("d.scala")),
53+
.add(Statement(Location("com.sksamuel.scoverage4", "D", "com.sksamuel.scoverage4.D", ClassType.Object, "delete", canonicalPath("d.scala")),
5554
7, 2, 3, 4, "", "", "", false, 0))
5655
coverage
57-
.add(Statement(canonicalPath("d.scala"), Location("com.sksamuel.scoverage4", "D", "com.sksamuel.scoverage4.D", ClassType.Object, "delete2", canonicalPath("d.scala")),
56+
.add(Statement(Location("com.sksamuel.scoverage4", "D", "com.sksamuel.scoverage4.D", ClassType.Object, "delete2", canonicalPath("d.scala")),
5857
8, 2, 3, 14, "", "", "", false, 0))
5958

6059
val writer = new CoberturaXmlWriter(sourceRoot, dir)
@@ -87,13 +86,13 @@ class CoberturaXmlWriterTest extends FunSuite with BeforeAndAfter with OneInstan
8786

8887
val coverage = Coverage()
8988
coverage
90-
.add(Statement(canonicalPath("a.scala"), Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create", canonicalPath("a.scala")),
89+
.add(Statement(Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create", canonicalPath("a.scala")),
9190
1, 2, 3, 12, "", "", "", false))
9291
coverage
93-
.add(Statement(canonicalPath("a.scala"), Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create2", canonicalPath("a.scala")),
92+
.add(Statement(Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create2", canonicalPath("a.scala")),
9493
2, 2, 3, 16, "", "", "", true))
9594
coverage
96-
.add(Statement(canonicalPath("a.scala"), Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create3", canonicalPath("a.scala")),
95+
.add(Statement(Location("com.sksamuel.scoverage", "A", "com.sksamuel.scoverage.A", ClassType.Object, "create3", canonicalPath("a.scala")),
9796
3, 3, 3, 20, "", "", "", true, 1))
9897

9998
val writer = new CoberturaXmlWriter(sourceRoot, dir)

scalac-scoverage-plugin/src/test/scala/scoverage/CoverageAggregatorTest.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ class CoverageAggregatorTest extends FreeSpec with Matchers {
2424
source)
2525

2626
val coverage1 = Coverage()
27-
coverage1.add(Statement(source, location, 1, 155, 176, 4, "", "", "", true, 1))
28-
coverage1.add(Statement(source, location, 2, 200, 300, 5, "", "", "", false, 2))
27+
coverage1.add(Statement(location, 1, 155, 176, 4, "", "", "", true, 1))
28+
coverage1.add(Statement(location, 2, 200, 300, 5, "", "", "", false, 2))
2929
val dir1 = new File(IOUtils.getTempPath, UUID.randomUUID.toString)
3030
dir1.mkdir()
3131
new ScoverageXmlWriter(sourceRoot, dir1, false).write(coverage1)
3232

3333
val coverage2 = Coverage()
34-
coverage2.add(Statement(source, location, 1, 95, 105, 19, "", "", "", false, 0))
34+
coverage2.add(Statement(location, 1, 95, 105, 19, "", "", "", false, 0))
3535
val dir2 = new File(IOUtils.getTempPath, UUID.randomUUID.toString)
3636
dir2.mkdir()
3737
new ScoverageXmlWriter(sourceRoot, dir2, false).write(coverage2)
3838

3939
val coverage3 = Coverage()
40-
coverage3.add(Statement(source, location, 2, 14, 1515, 544, "", "", "", false, 1))
40+
coverage3.add(Statement(location, 2, 14, 1515, 544, "", "", "", false, 1))
4141
val dir3 = new File(IOUtils.getTempPath, UUID.randomUUID.toString)
4242
dir3.mkdir()
4343
new ScoverageXmlWriter(sourceRoot, dir3, false).write(coverage3)

scalac-scoverage-plugin/src/test/scala/scoverage/CoverageMetricsTest.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class CoverageMetricsTest extends FreeSpec with Matchers {
66

77
"no branches with at least one invoked statement should have 100% branch coverage" in {
88
val metrics = new CoverageMetrics {
9-
override def statements: Iterable[Statement] = Seq(Statement(null,
9+
override def statements: Iterable[Statement] = Seq(Statement(
1010
null,
1111
0,
1212
0,
@@ -26,7 +26,7 @@ class CoverageMetricsTest extends FreeSpec with Matchers {
2626

2727
"no branches with no invoked statements should have 0% branch coverage" in {
2828
val metrics = new CoverageMetrics {
29-
override def statements: Iterable[Statement] = Seq(Statement(null,
29+
override def statements: Iterable[Statement] = Seq(Statement(
3030
null,
3131
0,
3232
0,

scalac-scoverage-plugin/src/test/scala/scoverage/CoverageTest.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ class CoverageTest extends FunSuite with BeforeAndAfter with OneInstancePerTest
1212

1313
test("coverage for no invoked statements is 0") {
1414
val coverage = Coverage()
15-
coverage.add(Statement("", Location("", "","", ClassType.Object, "", ""), 1, 2, 3, 4, "", "", "", false, 0))
15+
coverage.add(Statement(Location("", "","", ClassType.Object, "", ""), 1, 2, 3, 4, "", "", "", false, 0))
1616
assert(0 === coverage.statementCoverage)
1717
}
1818

1919
test("coverage for invoked statements") {
2020
val coverage = Coverage()
21-
coverage.add(Statement("", Location("", "","", ClassType.Object, "", ""), 1, 2, 3, 4, "", "", "", false, 3))
22-
coverage.add(Statement("", Location("", "", "", ClassType.Object, "", ""), 2, 2, 3, 4, "", "", "", false, 0))
23-
coverage.add(Statement("", Location("", "", "", ClassType.Object, "", ""), 3, 2, 3, 4, "", "", "", false, 0))
24-
coverage.add(Statement("", Location("", "", "", ClassType.Object, "", ""), 4, 2, 3, 4, "", "", "", false, 0))
21+
coverage.add(Statement(Location("", "","", ClassType.Object, "", ""), 1, 2, 3, 4, "", "", "", false, 3))
22+
coverage.add(Statement(Location("", "", "", ClassType.Object, "", ""), 2, 2, 3, 4, "", "", "", false, 0))
23+
coverage.add(Statement(Location("", "", "", ClassType.Object, "", ""), 3, 2, 3, 4, "", "", "", false, 0))
24+
coverage.add(Statement(Location("", "", "", ClassType.Object, "", ""), 4, 2, 3, 4, "", "", "", false, 0))
2525
assert(0.25 === coverage.statementCoverage)
2626
}
2727
}

scalac-scoverage-plugin/src/test/scala/scoverage/ScoverageHtmlWriterTest.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ class ScoverageHtmlWriterTest extends FunSuite {
2121
val pathToClassInSubDir = pathToClassFile("subdir/ClassInSubDir.scala")
2222
val pathToClassInMainDir = pathToClassFile("ClassInMainDir.scala")
2323

24-
val statementForClassContainingHtml = Statement(pathToClassContainingHtml,
25-
Location("coverage.sample", "ClassContainingHtml", "ClassContainingHtml", ClassType.Class, "some_html", pathToClassInSubDir),
24+
val statementForClassContainingHtml = Statement(
25+
Location("coverage.sample", "ClassContainingHtml", "ClassContainingHtml", ClassType.Class, "some_html", pathToClassContainingHtml),
2626
3, 74, 97, 4, "<div>HTML content</div>",
2727
"scala.Predef.println", "Apply", false, 0)
28-
val statementForClassInSubDir = Statement(pathToClassInSubDir,
28+
val statementForClassInSubDir = Statement(
2929
Location("coverage.sample", "ClassInSubDir", "ClassInSubDir", ClassType.Class, "msg_test", pathToClassInSubDir),
3030
2, 64, 84, 4, "scala.this.Predef.println(\"test code\")",
3131
"scala.Predef.println", "Apply", false, 0)
32-
val statementForClassInMainDir = Statement(pathToClassInMainDir,
32+
val statementForClassInMainDir = Statement(
3333
Location("coverage.sample", "ClassInMainDir", "ClassInMainDir", ClassType.Class, "msg_coverage", pathToClassInMainDir),
3434
1, 69, 104, 4, "scala.this.Predef.println(\"measure coverage of code\")",
3535
"scala.Predef.println", "Apply", false, 0)

scalac-scoverage-plugin/src/test/scala/scoverage/ScoverageXmlReaderTest.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class ScoverageXmlReaderTest extends FreeSpec with Matchers {
1717

1818
val coverage = Coverage()
1919

20-
coverage.add(Statement(canonicalPath("com/scoverage/class.scala"),
20+
coverage.add(Statement(
2121
Location("com.scoverage",
2222
"Test",
2323
"com.scoverage.TopLevel.Test",
@@ -34,7 +34,7 @@ class ScoverageXmlReaderTest extends FreeSpec with Matchers {
3434
true,
3535
2))
3636

37-
coverage.add(Statement(canonicalPath("com/scoverage/foo/class.scala"),
37+
coverage.add(Statement(
3838
Location("com.scoverage.foo",
3939
"ServiceState",
4040
"com.scoverage.foo.Service.ServiceState",

scalac-scoverage-plugin/src/test/scala/scoverage/SerializerTest.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,13 @@ class SerializerTest extends FunSuite with MockitoSugar with OneInstancePerTest
1313
val coverage = Coverage()
1414
coverage.add(
1515
Statement(
16-
"mysource",
1716
Location("org.scoverage", "test", "org.scoverage.test", ClassType.Trait, "mymethod", "mypath"),
1817
14, 100, 200, 4, "def test : String", "test", "DefDef", true, 32
1918
)
2019
)
2120
val expected = <statements>
2221
<statement>
23-
<source>mysource</source> <package>org.scoverage</package> <class>test</class> <classType>Trait</classType> <fullClassName>org.scoverage.test</fullClassName> <method>mymethod</method> <path>mypath</path> <id>14</id> <start>100</start> <end>200</end> <line>4</line> <description>def test : String</description> <symbolName>test</symbolName> <treeName>DefDef</treeName> <branch>true</branch> <count>32</count> <ignored>false</ignored>
22+
<source>mypath</source> <package>org.scoverage</package> <class>test</class> <classType>Trait</classType> <fullClassName>org.scoverage.test</fullClassName> <method>mymethod</method> <path>mypath</path> <id>14</id> <start>100</start> <end>200</end> <line>4</line> <description>def test : String</description> <symbolName>test</symbolName> <treeName>DefDef</treeName> <branch>true</branch> <count>32</count> <ignored>false</ignored>
2423
</statement>
2524
</statements>
2625
val writer = new StringWriter()
@@ -31,11 +30,10 @@ class SerializerTest extends FunSuite with MockitoSugar with OneInstancePerTest
3130
test("coverage should be deserializable from xml") {
3231
val input = <statements>
3332
<statement>
34-
<source>mysource</source> <package>org.scoverage</package> <class>test</class> <classType>Trait</classType> <fullClassName>org.scoverage.test</fullClassName> <method>mymethod</method> <path>mypath</path> <id>14</id> <start>100</start> <end>200</end> <line>4</line> <description>def test : String</description> <symbolName>test</symbolName> <treeName>DefDef</treeName> <branch>true</branch> <count>32</count> <ignored>false</ignored>
33+
<source>mypath</source> <package>org.scoverage</package> <class>test</class> <classType>Trait</classType> <fullClassName>org.scoverage.test</fullClassName> <method>mymethod</method> <path>mypath</path> <id>14</id> <start>100</start> <end>200</end> <line>4</line> <description>def test : String</description> <symbolName>test</symbolName> <treeName>DefDef</treeName> <branch>true</branch> <count>32</count> <ignored>false</ignored>
3534
</statement>
3635
</statements>
3736
val statements = List(Statement(
38-
"mysource",
3937
Location("org.scoverage", "test", "org.scoverage.test", ClassType.Trait, "mymethod", "mypath"),
4038
14, 100, 200, 4, "def test : String", "test", "DefDef", true, 32
4139
))

0 commit comments

Comments
 (0)