Skip to content

Commit 44056d8

Browse files
committed
Structural Types
1 parent 0f22141 commit 44056d8

File tree

7 files changed

+26
-14
lines changed

7 files changed

+26
-14
lines changed

scalatest/src/main/scala/org/scalatest/enablers/Definition.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ trait Definition[-T] {
5353
object Definition {
5454

5555
import scala.language.higherKinds
56+
import scala.reflect.Selectable.reflectiveSelectable
5657

5758
/**
5859
* Provides <code>Definition</code> implementation for <code>scala.Option</code>
@@ -76,7 +77,7 @@ object Definition {
7677
*/
7778
implicit def definitionOfAnyRefWithIsDefinedMethod[T <: AnyRef { def isDefined(): Boolean}]: Definition[T] =
7879
new Definition[T] {
79-
def isDefined(obj: T): Boolean = obj.isDefined
80+
def isDefined(obj: T): Boolean = obj.isDefined()
8081
}
8182

8283
/**

scalatest/src/main/scala/org/scalatest/enablers/Emptiness.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ trait Emptiness[-T] {
6565
object Emptiness {
6666

6767
import scala.language.higherKinds
68+
import scala.reflect.Selectable.reflectiveSelectable
6869

6970
/**
7071
* Enable <code>Emptiness</code> implementation for <code>scala.collection.GenTraversable</code>
@@ -146,7 +147,7 @@ object Emptiness {
146147
*/
147148
implicit def emptinessOfAnyRefWithIsEmptyMethod[T <: AnyRef { def isEmpty(): Boolean}]: Emptiness[T] =
148149
new Emptiness[T] {
149-
def isEmpty(obj: T): Boolean = obj.isEmpty
150+
def isEmpty(obj: T): Boolean = obj.isEmpty()
150151
}
151152

152153
/**

scalatest/src/main/scala/org/scalatest/enablers/Length.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ trait Length[T] {
118118
*/
119119
object Length {
120120

121+
import scala.reflect.Selectable.reflectiveSelectable
122+
121123
/**
122124
* Enable <code>Length</code> implementation for <code>java.util.List</code>
123125
*
@@ -171,7 +173,7 @@ object Length {
171173
*/
172174
implicit def lengthOfAnyRefWithLengthMethodForInt[T <: AnyRef { def length(): Int}]: Length[T] =
173175
new Length[T] {
174-
def lengthOf(obj: T): Long = obj.length
176+
def lengthOf(obj: T): Long = obj.length()
175177
}
176178

177179
/**
@@ -193,7 +195,7 @@ object Length {
193195
*/
194196
implicit def lengthOfAnyRefWithGetLengthMethodForInt[T <: AnyRef { def getLength(): Int}]: Length[T] =
195197
new Length[T] {
196-
def lengthOf(obj: T): Long = obj.getLength
198+
def lengthOf(obj: T): Long = obj.getLength()
197199
}
198200

199201
/**
@@ -215,7 +217,7 @@ object Length {
215217
*/
216218
implicit def lengthOfAnyRefWithLengthMethodForLong[T <: AnyRef { def length(): Long}]: Length[T] =
217219
new Length[T] {
218-
def lengthOf(obj: T): Long = obj.length
220+
def lengthOf(obj: T): Long = obj.length()
219221
}
220222

221223
/**
@@ -237,7 +239,7 @@ object Length {
237239
*/
238240
implicit def lengthOfAnyRefWithGetLengthMethodForLong[T <: AnyRef { def getLength(): Long}]: Length[T] =
239241
new Length[T] {
240-
def lengthOf(obj: T): Long = obj.getLength
242+
def lengthOf(obj: T): Long = obj.getLength()
241243
}
242244

243245
/**

scalatest/src/main/scala/org/scalatest/enablers/Messaging.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ trait Messaging[T] {
5959
*/
6060
object Messaging {
6161

62+
import scala.reflect.Selectable.reflectiveSelectable
63+
6264
/**
6365
* Enable <code>Messaging</code> implementation for <code>java.lang.Throwable</code>
6466
*
@@ -80,7 +82,7 @@ object Messaging {
8082
*/
8183
implicit def messagingNatureOfAnyRefWithMessageMethod[T <: AnyRef { def message(): String}]: Messaging[T] =
8284
new Messaging[T] {
83-
def messageOf(obj: T): String = obj.message
85+
def messageOf(obj: T): String = obj.message()
8486
}
8587

8688
/**
@@ -102,7 +104,7 @@ object Messaging {
102104
*/
103105
implicit def messagingNatureOfAnyRefWithGetMessageMethod[T <: AnyRef { def getMessage(): String}]: Messaging[T] =
104106
new Messaging[T] {
105-
def messageOf(obj: T): String = obj.getMessage
107+
def messageOf(obj: T): String = obj.getMessage()
106108
}
107109

108110
/**

scalatest/src/main/scala/org/scalatest/enablers/Readability.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ trait Readability[-T] {
5959
*/
6060
object Readability {
6161

62+
import scala.reflect.Selectable.reflectiveSelectable
63+
6264
/**
6365
* Enable <code>Readability</code> implementation for <code>java.io.File</code>.
6466
*
@@ -80,7 +82,7 @@ object Readability {
8082
*/
8183
implicit def readabilityOfAnyRefWithIsReadableMethod[T <: AnyRef { def isReadable(): Boolean}]: Readability[T] =
8284
new Readability[T] {
83-
def isReadable(obj: T): Boolean = obj.isReadable
85+
def isReadable(obj: T): Boolean = obj.isReadable()
8486
}
8587

8688
/**

scalatest/src/main/scala/org/scalatest/enablers/Size.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ trait Size[T] {
119119
*/
120120
object Size {
121121

122+
import scala.reflect.Selectable.reflectiveSelectable
123+
122124
/**
123125
* Enable <code>Size</code> implementation for <code>java.util.Collection</code>
124126
*
@@ -183,7 +185,7 @@ object Size {
183185
*/
184186
implicit def sizeOfAnyRefWithSizeMethodForInt[T <: AnyRef { def size(): Int}]: Size[T] =
185187
new Size[T] {
186-
def sizeOf(obj: T): Long = obj.size
188+
def sizeOf(obj: T): Long = obj.size()
187189
}
188190

189191
/**
@@ -205,7 +207,7 @@ object Size {
205207
*/
206208
implicit def sizeOfAnyRefWithGetSizeMethodForInt[T <: AnyRef { def getSize(): Int}]: Size[T] =
207209
new Size[T] {
208-
def sizeOf(obj: T): Long = obj.getSize
210+
def sizeOf(obj: T): Long = obj.getSize()
209211
}
210212

211213
/**
@@ -227,7 +229,7 @@ object Size {
227229
*/
228230
implicit def sizeOfAnyRefWithSizeMethodForLong[T <: AnyRef { def size(): Long}]: Size[T] =
229231
new Size[T] {
230-
def sizeOf(obj: T): Long = obj.size
232+
def sizeOf(obj: T): Long = obj.size()
231233
}
232234

233235
/**
@@ -249,7 +251,7 @@ object Size {
249251
*/
250252
implicit def sizeOfAnyRefWithGetSizeMethodForLong[T <: AnyRef { def getSize(): Long}]: Size[T] =
251253
new Size[T] {
252-
def sizeOf(obj: T): Long = obj.getSize
254+
def sizeOf(obj: T): Long = obj.getSize()
253255
}
254256

255257
/**

scalatest/src/main/scala/org/scalatest/enablers/Writability.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ trait Writability[-T] {
5858
*/
5959
object Writability {
6060

61+
import scala.reflect.Selectable.reflectiveSelectable
62+
6163
/**
6264
* Enable <code>Writability</code> implementation for <code>java.io.File</code>.
6365
*
@@ -79,7 +81,7 @@ object Writability {
7981
*/
8082
implicit def writabilityOfAnyRefWithIsWritableMethod[T <: AnyRef { def isWritable(): Boolean}]: Writability[T] =
8183
new Writability[T] {
82-
def isWritable(obj: T): Boolean = obj.isWritable
84+
def isWritable(obj: T): Boolean = obj.isWritable()
8385
}
8486

8587
/**

0 commit comments

Comments
 (0)