diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-08-08 02:55:16 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-08-08 02:55:16 -0700 |
commit | c0d5f0aaddc7bc309f84afd5d4f4b5c136c65816 (patch) | |
tree | c3ab5d1d48a88eb92946332b657b747b8e202642 /test | |
parent | e27c0035ea28cf844e5ef865e13f10a720bb1e4f (diff) | |
parent | 0ea83a289e80c973e42810aee83e0f4a7102fee5 (diff) | |
download | scala-c0d5f0aaddc7bc309f84afd5d4f4b5c136c65816.tar.gz scala-c0d5f0aaddc7bc309f84afd5d4f4b5c136c65816.tar.bz2 scala-c0d5f0aaddc7bc309f84afd5d4f4b5c136c65816.zip |
Merge pull request #1086 from adriaanm/master
merge 2.10.x into master
Diffstat (limited to 'test')
89 files changed, 5602 insertions, 479 deletions
diff --git a/test/files/instrumented/inline-in-constructors.check b/test/files/instrumented/inline-in-constructors.check new file mode 100644 index 0000000000..c6c9ae4e15 --- /dev/null +++ b/test/files/instrumented/inline-in-constructors.check @@ -0,0 +1,3 @@ +Method call statistics: + 1 instrumented/Bar.<init>(Z)V + 1 instrumented/Foo.<init>(I)V diff --git a/test/files/instrumented/inline-in-constructors.flags b/test/files/instrumented/inline-in-constructors.flags new file mode 100644 index 0000000000..c9b68d70dc --- /dev/null +++ b/test/files/instrumented/inline-in-constructors.flags @@ -0,0 +1 @@ +-optimise diff --git a/test/files/instrumented/inline-in-constructors/assert_1.scala b/test/files/instrumented/inline-in-constructors/assert_1.scala new file mode 100644 index 0000000000..a03757b89c --- /dev/null +++ b/test/files/instrumented/inline-in-constructors/assert_1.scala @@ -0,0 +1,13 @@ +package instrumented + +object MyPredef { + @inline + final def assert(assertion: Boolean, message: => Any) { + if (!assertion) + throw new java.lang.AssertionError("assertion failed: " + message) + } +} + +class Foo(x: Int) { + MyPredef.assert(x > 0, "not positive: " + x) +} diff --git a/test/files/instrumented/inline-in-constructors/bar_2.scala b/test/files/instrumented/inline-in-constructors/bar_2.scala new file mode 100644 index 0000000000..418dac5a67 --- /dev/null +++ b/test/files/instrumented/inline-in-constructors/bar_2.scala @@ -0,0 +1,7 @@ +package instrumented + +/** Class that uses assert compiled in previous compiler run so we check if + inlining in constructors works across different compilation runs */ +class Bar(x: Boolean) { + MyPredef.assert(x, "not true: " + x) +} diff --git a/test/files/instrumented/inline-in-constructors/test_3.scala b/test/files/instrumented/inline-in-constructors/test_3.scala new file mode 100644 index 0000000000..c4d4cc5f37 --- /dev/null +++ b/test/files/instrumented/inline-in-constructors/test_3.scala @@ -0,0 +1,15 @@ +import scala.tools.partest.instrumented.Instrumentation._ +import instrumented._ + +object Test { + def main(args: Array[String]) { + // force predef initialization before profiling + Predef + MyPredef + startProfiling() + val a = new Foo(2) + val b = new Bar(true) + stopProfiling() + printStatistics() + } +} diff --git a/test/files/jvm/interpreter.check b/test/files/jvm/interpreter.check index dc835bf8b6..6145b6c4d2 100644 --- a/test/files/jvm/interpreter.check +++ b/test/files/jvm/interpreter.check @@ -1,374 +1,373 @@ -Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala>
-
-scala> // basics
-
-scala> 3+4
-res0: Int = 7
-
-scala> def gcd(x: Int, y: Int): Int = {
- if (x == 0) y
- else if (y == 0) x
- else gcd(y%x, x)
-}
-gcd: (x: Int, y: Int)Int
-
-scala> val five = gcd(15,35)
-five: Int = 5
-
-scala> var x = 1
-x: Int = 1
-
-scala> x = 2
-x: Int = 2
-
-scala> val three = x+1
-three: Int = 3
-
-scala> type anotherint = Int
-defined type alias anotherint
-
-scala> val four: anotherint = 4
-four: anotherint = 4
-
-scala> val bogus: anotherint = "hello"
-<console>:8: error: type mismatch;
- found : String("hello")
- required: anotherint
- (which expands to) Int
- val bogus: anotherint = "hello"
- ^
-
-scala> trait PointlessTrait
-defined trait PointlessTrait
-
-scala> val (x,y) = (2,3)
-x: Int = 2
-y: Int = 3
-
-scala> println("hello")
-hello
-
-scala>
-
-scala> // ticket #1513
-
-scala> val t1513 = Array(null)
-t1513: Array[Null] = Array(null)
-
-scala> // ambiguous toString problem from #547
-
-scala> val atom = new scala.xml.Atom()
-atom: scala.xml.Atom[Unit] = ()
-
-scala> // overriding toString problem from #1404
-
-scala> class S(override val toString : String)
-defined class S
-
-scala> val fish = new S("fish")
-fish: S = fish
-
-scala> // Test that arrays pretty print nicely.
-
-scala> val arr = Array("What's", "up", "doc?")
-arr: Array[String] = Array(What's, up, doc?)
-
-scala> // Test that arrays pretty print nicely, even when we give them type Any
-
-scala> val arrInt : Any = Array(1,2,3)
-arrInt: Any = Array(1, 2, 3)
-
-scala> // Test that nested arrays are pretty-printed correctly
-
-scala> val arrArrInt : Any = Array(Array(1, 2), Array(3, 4))
-arrArrInt: Any = Array(Array(1, 2), Array(3, 4))
-
-scala>
-
-scala> // implicit conversions
-
-scala> case class Foo(n: Int)
-defined class Foo
-
-scala> case class Bar(n: Int)
-defined class Bar
-
-scala> implicit def foo2bar(foo: Foo) = Bar(foo.n)
-warning: there were 1 feature warnings; re-run with -feature for details
-foo2bar: (foo: Foo)Bar
-
-scala> val bar: Bar = Foo(3)
-bar: Bar = Bar(3)
-
-scala>
-
-scala> // importing from a previous result
-
-scala> import bar._
-import bar._
-
-scala> val m = n
-m: Int = 3
-
-scala>
-
-scala> // stressing the imports mechanism
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala> val one = 1
-one: Int = 1
-
-scala>
-
-scala>
-
-scala> val x1 = 1
-x1: Int = 1
-
-scala> val x2 = 1
-x2: Int = 1
-
-scala> val x3 = 1
-x3: Int = 1
-
-scala> val x4 = 1
-x4: Int = 1
-
-scala> val x5 = 1
-x5: Int = 1
-
-scala> val x6 = 1
-x6: Int = 1
-
-scala> val x7 = 1
-x7: Int = 1
-
-scala> val x8 = 1
-x8: Int = 1
-
-scala> val x9 = 1
-x9: Int = 1
-
-scala> val x10 = 1
-x10: Int = 1
-
-scala> val x11 = 1
-x11: Int = 1
-
-scala> val x12 = 1
-x12: Int = 1
-
-scala> val x13 = 1
-x13: Int = 1
-
-scala> val x14 = 1
-x14: Int = 1
-
-scala> val x15 = 1
-x15: Int = 1
-
-scala> val x16 = 1
-x16: Int = 1
-
-scala> val x17 = 1
-x17: Int = 1
-
-scala> val x18 = 1
-x18: Int = 1
-
-scala> val x19 = 1
-x19: Int = 1
-
-scala> val x20 = 1
-x20: Int = 1
-
-scala>
-
-scala> val two = one + x5
-two: Int = 2
-
-scala>
-
-scala> // handling generic wildcard arrays (#2386)
-
-scala> // It's put here because type feedback is an important part of it.
-
-scala> val xs: Array[_] = Array(1, 2)
-xs: Array[_] = Array(1, 2)
-
-scala> xs.size
-res2: Int = 2
-
-scala> xs.head
-res3: Any = 1
-
-scala> xs filter (_ == 2)
-res4: Array[_] = Array(2)
-
-scala> xs map (_ => "abc")
-res5: Array[String] = Array(abc, abc)
-
-scala> xs map (x => x)
-res6: Array[_] = Array(1, 2)
-
-scala> xs map (x => (x, x))
-warning: there were 1 feature warnings; re-run with -feature for details
-warning: there were 1 feature warnings; re-run with -feature for details
-res7: Array[(_$1, _$1)] forSome { type _$1 } = Array((1,1), (2,2))
-
-scala>
-
-scala> // interior syntax errors should *not* go into multi-line input mode.
-
-scala> // both of the following should abort immediately:
-
-scala> def x => y => z
-<console>:1: error: '=' expected but '=>' found.
- def x => y => z
- ^
-
-scala> [1,2,3]
-<console>:1: error: illegal start of definition
- [1,2,3]
- ^
-
-scala>
-
-scala>
-
-scala> // multi-line XML
-
-scala> <a>
-<b
- c="c"
- d="dd"
-/></a>
-res8: scala.xml.Elem =
-<a>
-<b c="c" d="dd"/></a>
-
-scala>
-
-scala>
-
-scala> /*
- /*
- multi-line comment
- */
-*/
-
-
-You typed two blank lines. Starting a new command.
-
-scala> // multi-line string
-
-scala> """
-hello
-there
-"""
-res12: String =
-"
-hello
-there
-"
-
-scala>
-
-scala> (1 + // give up early by typing two blank lines
-
-
-You typed two blank lines. Starting a new command.
-
-scala> // defining and using quoted names should work (ticket #323)
-
-scala> def `match` = 1
-match: Int
-
-scala> val x = `match`
-x: Int = 1
-
-scala>
-
-scala> // multiple classes defined on one line
-
-scala> sealed class Exp; class Fact extends Exp; class Term extends Exp
-defined class Exp
-defined class Fact
-defined class Term
-
-scala> def f(e: Exp) = e match { // non-exhaustive warning here
- case _:Fact => 3
-}
-<console>:18: warning: match is not exhaustive!
-missing combination Exp
-missing combination Term
-
- def f(e: Exp) = e match { // non-exhaustive warning here
- ^
-f: (e: Exp)Int
-
-scala>
-
-scala>
+Type in expressions to have them evaluated. +Type :help for more information. + +scala> + +scala> // basics + +scala> 3+4 +res0: Int = 7 + +scala> def gcd(x: Int, y: Int): Int = { + if (x == 0) y + else if (y == 0) x + else gcd(y%x, x) +} +gcd: (x: Int, y: Int)Int + +scala> val five = gcd(15,35) +five: Int = 5 + +scala> var x = 1 +x: Int = 1 + +scala> x = 2 +x: Int = 2 + +scala> val three = x+1 +three: Int = 3 + +scala> type anotherint = Int +defined type alias anotherint + +scala> val four: anotherint = 4 +four: anotherint = 4 + +scala> val bogus: anotherint = "hello" +<console>:8: error: type mismatch; + found : String("hello") + required: anotherint + (which expands to) Int + val bogus: anotherint = "hello" + ^ + +scala> trait PointlessTrait +defined trait PointlessTrait + +scala> val (x,y) = (2,3) +x: Int = 2 +y: Int = 3 + +scala> println("hello") +hello + +scala> + +scala> // ticket #1513 + +scala> val t1513 = Array(null) +t1513: Array[Null] = Array(null) + +scala> // ambiguous toString problem from #547 + +scala> val atom = new scala.xml.Atom() +atom: scala.xml.Atom[Unit] = () + +scala> // overriding toString problem from #1404 + +scala> class S(override val toString : String) +defined class S + +scala> val fish = new S("fish") +fish: S = fish + +scala> // Test that arrays pretty print nicely. + +scala> val arr = Array("What's", "up", "doc?") +arr: Array[String] = Array(What's, up, doc?) + +scala> // Test that arrays pretty print nicely, even when we give them type Any + +scala> val arrInt : Any = Array(1,2,3) +arrInt: Any = Array(1, 2, 3) + +scala> // Test that nested arrays are pretty-printed correctly + +scala> val arrArrInt : Any = Array(Array(1, 2), Array(3, 4)) +arrArrInt: Any = Array(Array(1, 2), Array(3, 4)) + +scala> + +scala> // implicit conversions + +scala> case class Foo(n: Int) +defined class Foo + +scala> case class Bar(n: Int) +defined class Bar + +scala> implicit def foo2bar(foo: Foo) = Bar(foo.n) +warning: there were 1 feature warnings; re-run with -feature for details +foo2bar: (foo: Foo)Bar + +scala> val bar: Bar = Foo(3) +bar: Bar = Bar(3) + +scala> + +scala> // importing from a previous result + +scala> import bar._ +import bar._ + +scala> val m = n +m: Int = 3 + +scala> + +scala> // stressing the imports mechanism + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> val one = 1 +one: Int = 1 + +scala> + +scala> + +scala> val x1 = 1 +x1: Int = 1 + +scala> val x2 = 1 +x2: Int = 1 + +scala> val x3 = 1 +x3: Int = 1 + +scala> val x4 = 1 +x4: Int = 1 + +scala> val x5 = 1 +x5: Int = 1 + +scala> val x6 = 1 +x6: Int = 1 + +scala> val x7 = 1 +x7: Int = 1 + +scala> val x8 = 1 +x8: Int = 1 + +scala> val x9 = 1 +x9: Int = 1 + +scala> val x10 = 1 +x10: Int = 1 + +scala> val x11 = 1 +x11: Int = 1 + +scala> val x12 = 1 +x12: Int = 1 + +scala> val x13 = 1 +x13: Int = 1 + +scala> val x14 = 1 +x14: Int = 1 + +scala> val x15 = 1 +x15: Int = 1 + +scala> val x16 = 1 +x16: Int = 1 + +scala> val x17 = 1 +x17: Int = 1 + +scala> val x18 = 1 +x18: Int = 1 + +scala> val x19 = 1 +x19: Int = 1 + +scala> val x20 = 1 +x20: Int = 1 + +scala> + +scala> val two = one + x5 +two: Int = 2 + +scala> + +scala> // handling generic wildcard arrays (#2386) + +scala> // It's put here because type feedback is an important part of it. + +scala> val xs: Array[_] = Array(1, 2) +xs: Array[_] = Array(1, 2) + +scala> xs.size +res2: Int = 2 + +scala> xs.head +res3: Any = 1 + +scala> xs filter (_ == 2) +res4: Array[_] = Array(2) + +scala> xs map (_ => "abc") +res5: Array[String] = Array(abc, abc) + +scala> xs map (x => x) +res6: Array[_] = Array(1, 2) + +scala> xs map (x => (x, x)) +warning: there were 1 feature warnings; re-run with -feature for details +res7: Array[(_$1, _$1)] forSome { type _$1 } = Array((1,1), (2,2)) + +scala> + +scala> // interior syntax errors should *not* go into multi-line input mode. + +scala> // both of the following should abort immediately: + +scala> def x => y => z +<console>:1: error: '=' expected but '=>' found. + def x => y => z + ^ + +scala> [1,2,3] +<console>:1: error: illegal start of definition + [1,2,3] + ^ + +scala> + +scala> + +scala> // multi-line XML + +scala> <a> +<b + c="c" + d="dd" +/></a> +res8: scala.xml.Elem = +<a> +<b c="c" d="dd"/></a> + +scala> + +scala> + +scala> /* + /* + multi-line comment + */ +*/ + + +You typed two blank lines. Starting a new command. + +scala> // multi-line string + +scala> """ +hello +there +""" +res12: String = +" +hello +there +" + +scala> + +scala> (1 + // give up early by typing two blank lines + + +You typed two blank lines. Starting a new command. + +scala> // defining and using quoted names should work (ticket #323) + +scala> def `match` = 1 +match: Int + +scala> val x = `match` +x: Int = 1 + +scala> + +scala> // multiple classes defined on one line + +scala> sealed class Exp; class Fact extends Exp; class Term extends Exp +defined class Exp +defined class Fact +defined class Term + +scala> def f(e: Exp) = e match { // non-exhaustive warning here + case _:Fact => 3 +} +<console>:18: warning: match is not exhaustive! +missing combination Exp +missing combination Term + + def f(e: Exp) = e match { // non-exhaustive warning here + ^ +f: (e: Exp)Int + +scala> + +scala> plusOne: (x: Int)Int res0: Int = 6 res0: String = after reset diff --git a/test/files/jvm/t6172.scala b/test/files/jvm/t6172.scala new file mode 100644 index 0000000000..7fa048955c --- /dev/null +++ b/test/files/jvm/t6172.scala @@ -0,0 +1,3005 @@ +trait Foo1 { +trait A1 +trait A2 +trait A3 +trait A4 +trait A5 +trait A6 +trait A7 +trait A8 +trait A9 +trait A10 +trait A11 +trait A12 +trait A13 +trait A14 +trait A15 +trait A16 +trait A17 +trait A18 +trait A19 +trait A20 +trait A21 +trait A22 +trait A23 +trait A24 +trait A25 +trait A26 +trait A27 +trait A28 +trait A29 +trait A30 +trait A31 +trait A32 +trait A33 +trait A34 +trait A35 +trait A36 +trait A37 +trait A38 +trait A39 +trait A40 +trait A41 +trait A42 +trait A43 +trait A44 +trait A45 +trait A46 +trait A47 +trait A48 +trait A49 +trait A50 +trait A51 +trait A52 +trait A53 +trait A54 +trait A55 +trait A56 +trait A57 +trait A58 +trait A59 +trait A60 +trait A61 +trait A62 +trait A63 +trait A64 +trait A65 +trait A66 +trait A67 +trait A68 +trait A69 +trait A70 +trait A71 +trait A72 +trait A73 +trait A74 +trait A75 +trait A76 +trait A77 +trait A78 +trait A79 +trait A80 +trait A81 +trait A82 +trait A83 +trait A84 +trait A85 +trait A86 +trait A87 +trait A88 +trait A89 +trait A90 +trait A91 +trait A92 +trait A93 +trait A94 +trait A95 +trait A96 +trait A97 +trait A98 +trait A99 +trait A100 +trait A101 +trait A102 +trait A103 +trait A104 +trait A105 +trait A106 +trait A107 +trait A108 +trait A109 +trait A110 +trait A111 +trait A112 +trait A113 +trait A114 +trait A115 +trait A116 +trait A117 +trait A118 +trait A119 +trait A120 +trait A121 +trait A122 +trait A123 +trait A124 +trait A125 +trait A126 +trait A127 +trait A128 +trait A129 +trait A130 +trait A131 +trait A132 +trait A133 +trait A134 +trait A135 +trait A136 +trait A137 +trait A138 +trait A139 +trait A140 +trait A141 +trait A142 +trait A143 +trait A144 +trait A145 +trait A146 +trait A147 +trait A148 +trait A149 +trait A150 +trait A151 +trait A152 +trait A153 +trait A154 +trait A155 +trait A156 +trait A157 +trait A158 +trait A159 +trait A160 +trait A161 +trait A162 +trait A163 +trait A164 +trait A165 +trait A166 +trait A167 +trait A168 +trait A169 +trait A170 +trait A171 +trait A172 +trait A173 +trait A174 +trait A175 +trait A176 +trait A177 +trait A178 +trait A179 +trait A180 +trait A181 +trait A182 +trait A183 +trait A184 +trait A185 +trait A186 +trait A187 +trait A188 +trait A189 +trait A190 +trait A191 +trait A192 +trait A193 +trait A194 +trait A195 +trait A196 +trait A197 +trait A198 +trait A199 +trait A200 +trait A201 +trait A202 +trait A203 +trait A204 +trait A205 +trait A206 +trait A207 +trait A208 +trait A209 +trait A210 +trait A211 +trait A212 +trait A213 +trait A214 +trait A215 +trait A216 +trait A217 +trait A218 +trait A219 +trait A220 +trait A221 +trait A222 +trait A223 +trait A224 +trait A225 +trait A226 +trait A227 +trait A228 +trait A229 +trait A230 +trait A231 +trait A232 +trait A233 +trait A234 +trait A235 +trait A236 +trait A237 +trait A238 +trait A239 +trait A240 +trait A241 +trait A242 +trait A243 +trait A244 +trait A245 +trait A246 +trait A247 +trait A248 +trait A249 +trait A250 +trait A251 +trait A252 +trait A253 +trait A254 +trait A255 +trait A256 +trait A257 +trait A258 +trait A259 +trait A260 +trait A261 +trait A262 +trait A263 +trait A264 +trait A265 +trait A266 +trait A267 +trait A268 +trait A269 +trait A270 +trait A271 +trait A272 +trait A273 +trait A274 +trait A275 +trait A276 +trait A277 +trait A278 +trait A279 +trait A280 +trait A281 +trait A282 +trait A283 +trait A284 +trait A285 +trait A286 +trait A287 +trait A288 +trait A289 +trait A290 +trait A291 +trait A292 +trait A293 +trait A294 +trait A295 +trait A296 +trait A297 +trait A298 +trait A299 +trait A300 +trait A301 +trait A302 +trait A303 +trait A304 +trait A305 +trait A306 +trait A307 +trait A308 +trait A309 +trait A310 +trait A311 +trait A312 +trait A313 +trait A314 +trait A315 +trait A316 +trait A317 +trait A318 +trait A319 +trait A320 +trait A321 +trait A322 +trait A323 +trait A324 +trait A325 +trait A326 +trait A327 +trait A328 +trait A329 +trait A330 +trait A331 +trait A332 +trait A333 +trait A334 +trait A335 +trait A336 +trait A337 +trait A338 +trait A339 +trait A340 +trait A341 +trait A342 +trait A343 +trait A344 +trait A345 +trait A346 +trait A347 +trait A348 +trait A349 +trait A350 +trait A351 +trait A352 +trait A353 +trait A354 +trait A355 +trait A356 +trait A357 +trait A358 +trait A359 +trait A360 +trait A361 +trait A362 +trait A363 +trait A364 +trait A365 +trait A366 +trait A367 +trait A368 +trait A369 +trait A370 +trait A371 +trait A372 +trait A373 +trait A374 +trait A375 +trait A376 +trait A377 +trait A378 +trait A379 +trait A380 +trait A381 +trait A382 +trait A383 +trait A384 +trait A385 +trait A386 +trait A387 +trait A388 +trait A389 +trait A390 +trait A391 +trait A392 +trait A393 +trait A394 +trait A395 +trait A396 +trait A397 +trait A398 +trait A399 +trait A400 +trait A401 +trait A402 +trait A403 +trait A404 +trait A405 +trait A406 +trait A407 +trait A408 +trait A409 +trait A410 +trait A411 +trait A412 +trait A413 +trait A414 +trait A415 +trait A416 +trait A417 +trait A418 +trait A419 +trait A420 +trait A421 +trait A422 +trait A423 +trait A424 +trait A425 +trait A426 +trait A427 +trait A428 +trait A429 +trait A430 +trait A431 +trait A432 +trait A433 +trait A434 +trait A435 +trait A436 +trait A437 +trait A438 +trait A439 +trait A440 +trait A441 +trait A442 +trait A443 +trait A444 +trait A445 +trait A446 +trait A447 +trait A448 +trait A449 +trait A450 +trait A451 +trait A452 +trait A453 +trait A454 +trait A455 +trait A456 +trait A457 +trait A458 +trait A459 +trait A460 +trait A461 +trait A462 +trait A463 +trait A464 +trait A465 +trait A466 +trait A467 +trait A468 +trait A469 +trait A470 +trait A471 +trait A472 +trait A473 +trait A474 +trait A475 +trait A476 +trait A477 +trait A478 +trait A479 +trait A480 +trait A481 +trait A482 +trait A483 +trait A484 +trait A485 +trait A486 +trait A487 +trait A488 +trait A489 +trait A490 +trait A491 +trait A492 +trait A493 +trait A494 +trait A495 +trait A496 +trait A497 +trait A498 +trait A499 +trait A500 +trait A501 +trait A502 +trait A503 +trait A504 +trait A505 +trait A506 +trait A507 +trait A508 +trait A509 +trait A510 +trait A511 +trait A512 +trait A513 +trait A514 +trait A515 +trait A516 +trait A517 +trait A518 +trait A519 +trait A520 +trait A521 +trait A522 +trait A523 +trait A524 +trait A525 +trait A526 +trait A527 +trait A528 +trait A529 +trait A530 +trait A531 +trait A532 +trait A533 +trait A534 +trait A535 +trait A536 +trait A537 +trait A538 +trait A539 +trait A540 +trait A541 +trait A542 +trait A543 +trait A544 +trait A545 +trait A546 +trait A547 +trait A548 +trait A549 +trait A550 +trait A551 +trait A552 +trait A553 +trait A554 +trait A555 +trait A556 +trait A557 +trait A558 +trait A559 +trait A560 +trait A561 +trait A562 +trait A563 +trait A564 +trait A565 +trait A566 +trait A567 +trait A568 +trait A569 +trait A570 +trait A571 +trait A572 +trait A573 +trait A574 +trait A575 +trait A576 +trait A577 +trait A578 +trait A579 +trait A580 +trait A581 +trait A582 +trait A583 +trait A584 +trait A585 +trait A586 +trait A587 +trait A588 +trait A589 +trait A590 +trait A591 +trait A592 +trait A593 +trait A594 +trait A595 +trait A596 +trait A597 +trait A598 +trait A599 +trait A600 +trait A601 +trait A602 +trait A603 +trait A604 +trait A605 +trait A606 +trait A607 +trait A608 +trait A609 +trait A610 +trait A611 +trait A612 +trait A613 +trait A614 +trait A615 +trait A616 +trait A617 +trait A618 +trait A619 +trait A620 +trait A621 +trait A622 +trait A623 +trait A624 +trait A625 +trait A626 +trait A627 +trait A628 +trait A629 +trait A630 +trait A631 +trait A632 +trait A633 +trait A634 +trait A635 +trait A636 +trait A637 +trait A638 +trait A639 +trait A640 +trait A641 +trait A642 +trait A643 +trait A644 +trait A645 +trait A646 +trait A647 +trait A648 +trait A649 +trait A650 +trait A651 +trait A652 +trait A653 +trait A654 +trait A655 +trait A656 +trait A657 +trait A658 +trait A659 +trait A660 +trait A661 +trait A662 +trait A663 +trait A664 +trait A665 +trait A666 +trait A667 +trait A668 +trait A669 +trait A670 +trait A671 +trait A672 +trait A673 +trait A674 +trait A675 +trait A676 +trait A677 +trait A678 +trait A679 +trait A680 +trait A681 +trait A682 +trait A683 +trait A684 +trait A685 +trait A686 +trait A687 +trait A688 +trait A689 +trait A690 +trait A691 +trait A692 +trait A693 +trait A694 +trait A695 +trait A696 +trait A697 +trait A698 +trait A699 +trait A700 +trait A701 +trait A702 +trait A703 +trait A704 +trait A705 +trait A706 +trait A707 +trait A708 +trait A709 +trait A710 +trait A711 +trait A712 +trait A713 +trait A714 +trait A715 +trait A716 +trait A717 +trait A718 +trait A719 +trait A720 +trait A721 +trait A722 +trait A723 +trait A724 +trait A725 +trait A726 +trait A727 +trait A728 +trait A729 +trait A730 +trait A731 +trait A732 +trait A733 +trait A734 +trait A735 +trait A736 +trait A737 +trait A738 +trait A739 +trait A740 +trait A741 +trait A742 +trait A743 +trait A744 +trait A745 +trait A746 +trait A747 +trait A748 +trait A749 +trait A750 +trait A751 +trait A752 +trait A753 +trait A754 +trait A755 +trait A756 +trait A757 +trait A758 +trait A759 +trait A760 +trait A761 +trait A762 +trait A763 +trait A764 +trait A765 +trait A766 +trait A767 +trait A768 +trait A769 +trait A770 +trait A771 +trait A772 +trait A773 +trait A774 +trait A775 +trait A776 +trait A777 +trait A778 +trait A779 +trait A780 +trait A781 +trait A782 +trait A783 +trait A784 +trait A785 +trait A786 +trait A787 +trait A788 +trait A789 +trait A790 +trait A791 +trait A792 +trait A793 +trait A794 +trait A795 +trait A796 +trait A797 +trait A798 +trait A799 +trait A800 +trait A801 +trait A802 +trait A803 +trait A804 +trait A805 +trait A806 +trait A807 +trait A808 +trait A809 +trait A810 +trait A811 +trait A812 +trait A813 +trait A814 +trait A815 +trait A816 +trait A817 +trait A818 +trait A819 +trait A820 +trait A821 +trait A822 +trait A823 +trait A824 +trait A825 +trait A826 +trait A827 +trait A828 +trait A829 +trait A830 +trait A831 +trait A832 +trait A833 +trait A834 +trait A835 +trait A836 +trait A837 +trait A838 +trait A839 +trait A840 +trait A841 +trait A842 +trait A843 +trait A844 +trait A845 +trait A846 +trait A847 +trait A848 +trait A849 +trait A850 +trait A851 +trait A852 +trait A853 +trait A854 +trait A855 +trait A856 +trait A857 +trait A858 +trait A859 +trait A860 +trait A861 +trait A862 +trait A863 +trait A864 +trait A865 +trait A866 +trait A867 +trait A868 +trait A869 +trait A870 +trait A871 +trait A872 +trait A873 +trait A874 +trait A875 +trait A876 +trait A877 +trait A878 +trait A879 +trait A880 +trait A881 +trait A882 +trait A883 +trait A884 +trait A885 +trait A886 +trait A887 +trait A888 +trait A889 +trait A890 +trait A891 +trait A892 +trait A893 +trait A894 +trait A895 +trait A896 +trait A897 +trait A898 +trait A899 +trait A900 +trait A901 +trait A902 +trait A903 +trait A904 +trait A905 +trait A906 +trait A907 +trait A908 +trait A909 +trait A910 +trait A911 +trait A912 +trait A913 +trait A914 +trait A915 +trait A916 +trait A917 +trait A918 +trait A919 +trait A920 +trait A921 +trait A922 +trait A923 +trait A924 +trait A925 +trait A926 +trait A927 +trait A928 +trait A929 +trait A930 +trait A931 +trait A932 +trait A933 +trait A934 +trait A935 +trait A936 +trait A937 +trait A938 +trait A939 +trait A940 +trait A941 +trait A942 +trait A943 +trait A944 +trait A945 +trait A946 +trait A947 +trait A948 +trait A949 +trait A950 +trait A951 +trait A952 +trait A953 +trait A954 +trait A955 +trait A956 +trait A957 +trait A958 +trait A959 +trait A960 +trait A961 +trait A962 +trait A963 +trait A964 +trait A965 +trait A966 +trait A967 +trait A968 +trait A969 +trait A970 +trait A971 +trait A972 +trait A973 +trait A974 +trait A975 +trait A976 +trait A977 +trait A978 +trait A979 +trait A980 +trait A981 +trait A982 +trait A983 +trait A984 +trait A985 +trait A986 +trait A987 +trait A988 +trait A989 +trait A990 +trait A991 +trait A992 +trait A993 +trait A994 +trait A995 +trait A996 +trait A997 +trait A998 +trait A999 +trait A1000 +trait A1001 +trait A1002 +trait A1003 +trait A1004 +trait A1005 +trait A1006 +trait A1007 +trait A1008 +trait A1009 +trait A1010 +trait A1011 +trait A1012 +trait A1013 +trait A1014 +trait A1015 +trait A1016 +trait A1017 +trait A1018 +trait A1019 +trait A1020 +trait A1021 +trait A1022 +trait A1023 +trait A1024 +trait A1025 +trait A1026 +trait A1027 +trait A1028 +trait A1029 +trait A1030 +trait A1031 +trait A1032 +trait A1033 +trait A1034 +trait A1035 +trait A1036 +trait A1037 +trait A1038 +trait A1039 +trait A1040 +trait A1041 +trait A1042 +trait A1043 +trait A1044 +trait A1045 +trait A1046 +trait A1047 +trait A1048 +trait A1049 +trait A1050 +trait A1051 +trait A1052 +trait A1053 +trait A1054 +trait A1055 +trait A1056 +trait A1057 +trait A1058 +trait A1059 +trait A1060 +trait A1061 +trait A1062 +trait A1063 +trait A1064 +trait A1065 +trait A1066 +trait A1067 +trait A1068 +trait A1069 +trait A1070 +trait A1071 +trait A1072 +trait A1073 +trait A1074 +trait A1075 +trait A1076 +trait A1077 +trait A1078 +trait A1079 +trait A1080 +trait A1081 +trait A1082 +trait A1083 +trait A1084 +trait A1085 +trait A1086 +trait A1087 +trait A1088 +trait A1089 +trait A1090 +trait A1091 +trait A1092 +trait A1093 +trait A1094 +trait A1095 +trait A1096 +trait A1097 +trait A1098 +trait A1099 +trait A1100 +trait A1101 +trait A1102 +trait A1103 +trait A1104 +trait A1105 +trait A1106 +trait A1107 +trait A1108 +trait A1109 +trait A1110 +trait A1111 +trait A1112 +trait A1113 +trait A1114 +trait A1115 +trait A1116 +trait A1117 +trait A1118 +trait A1119 +trait A1120 +trait A1121 +trait A1122 +trait A1123 +trait A1124 +trait A1125 +trait A1126 +trait A1127 +trait A1128 +trait A1129 +trait A1130 +trait A1131 +trait A1132 +trait A1133 +trait A1134 +trait A1135 +trait A1136 +trait A1137 +trait A1138 +trait A1139 +trait A1140 +trait A1141 +trait A1142 +trait A1143 +trait A1144 +trait A1145 +trait A1146 +trait A1147 +trait A1148 +trait A1149 +trait A1150 +trait A1151 +trait A1152 +trait A1153 +trait A1154 +trait A1155 +trait A1156 +trait A1157 +trait A1158 +trait A1159 +trait A1160 +trait A1161 +trait A1162 +trait A1163 +trait A1164 +trait A1165 +trait A1166 +trait A1167 +trait A1168 +trait A1169 +trait A1170 +trait A1171 +trait A1172 +trait A1173 +trait A1174 +trait A1175 +trait A1176 +trait A1177 +trait A1178 +trait A1179 +trait A1180 +trait A1181 +trait A1182 +trait A1183 +trait A1184 +trait A1185 +trait A1186 +trait A1187 +trait A1188 +trait A1189 +trait A1190 +trait A1191 +trait A1192 +trait A1193 +trait A1194 +trait A1195 +trait A1196 +trait A1197 +trait A1198 +trait A1199 +trait A1200 +trait A1201 +trait A1202 +trait A1203 +trait A1204 +trait A1205 +trait A1206 +trait A1207 +trait A1208 +trait A1209 +trait A1210 +trait A1211 +trait A1212 +trait A1213 +trait A1214 +trait A1215 +trait A1216 +trait A1217 +trait A1218 +trait A1219 +trait A1220 +trait A1221 +trait A1222 +trait A1223 +trait A1224 +trait A1225 +trait A1226 +trait A1227 +trait A1228 +trait A1229 +trait A1230 +trait A1231 +trait A1232 +trait A1233 +trait A1234 +trait A1235 +trait A1236 +trait A1237 +trait A1238 +trait A1239 +trait A1240 +trait A1241 +trait A1242 +trait A1243 +trait A1244 +trait A1245 +trait A1246 +trait A1247 +trait A1248 +trait A1249 +trait A1250 +trait A1251 +trait A1252 +trait A1253 +trait A1254 +trait A1255 +trait A1256 +trait A1257 +trait A1258 +trait A1259 +trait A1260 +trait A1261 +trait A1262 +trait A1263 +trait A1264 +trait A1265 +trait A1266 +trait A1267 +trait A1268 +trait A1269 +trait A1270 +trait A1271 +trait A1272 +trait A1273 +trait A1274 +trait A1275 +trait A1276 +trait A1277 +trait A1278 +trait A1279 +trait A1280 +trait A1281 +trait A1282 +trait A1283 +trait A1284 +trait A1285 +trait A1286 +trait A1287 +trait A1288 +trait A1289 +trait A1290 +trait A1291 +trait A1292 +trait A1293 +trait A1294 +trait A1295 +trait A1296 +trait A1297 +trait A1298 +trait A1299 +trait A1300 +trait A1301 +trait A1302 +trait A1303 +trait A1304 +trait A1305 +trait A1306 +trait A1307 +trait A1308 +trait A1309 +trait A1310 +trait A1311 +trait A1312 +trait A1313 +trait A1314 +trait A1315 +trait A1316 +trait A1317 +trait A1318 +trait A1319 +trait A1320 +trait A1321 +trait A1322 +trait A1323 +trait A1324 +trait A1325 +trait A1326 +trait A1327 +trait A1328 +trait A1329 +trait A1330 +trait A1331 +trait A1332 +trait A1333 +trait A1334 +trait A1335 +trait A1336 +trait A1337 +trait A1338 +trait A1339 +trait A1340 +trait A1341 +trait A1342 +trait A1343 +trait A1344 +trait A1345 +trait A1346 +trait A1347 +trait A1348 +trait A1349 +trait A1350 +trait A1351 +trait A1352 +trait A1353 +trait A1354 +trait A1355 +trait A1356 +trait A1357 +trait A1358 +trait A1359 +trait A1360 +trait A1361 +trait A1362 +trait A1363 +trait A1364 +trait A1365 +trait A1366 +trait A1367 +trait A1368 +trait A1369 +trait A1370 +trait A1371 +trait A1372 +trait A1373 +trait A1374 +trait A1375 +trait A1376 +trait A1377 +trait A1378 +trait A1379 +trait A1380 +trait A1381 +trait A1382 +trait A1383 +trait A1384 +trait A1385 +trait A1386 +trait A1387 +trait A1388 +trait A1389 +trait A1390 +trait A1391 +trait A1392 +trait A1393 +trait A1394 +trait A1395 +trait A1396 +trait A1397 +trait A1398 +trait A1399 +trait A1400 +trait A1401 +trait A1402 +trait A1403 +trait A1404 +trait A1405 +trait A1406 +trait A1407 +trait A1408 +trait A1409 +trait A1410 +trait A1411 +trait A1412 +trait A1413 +trait A1414 +trait A1415 +trait A1416 +trait A1417 +trait A1418 +trait A1419 +trait A1420 +trait A1421 +trait A1422 +trait A1423 +trait A1424 +trait A1425 +trait A1426 +trait A1427 +trait A1428 +trait A1429 +trait A1430 +trait A1431 +trait A1432 +trait A1433 +trait A1434 +trait A1435 +trait A1436 +trait A1437 +trait A1438 +trait A1439 +trait A1440 +trait A1441 +trait A1442 +trait A1443 +trait A1444 +trait A1445 +trait A1446 +trait A1447 +trait A1448 +trait A1449 +trait A1450 +trait A1451 +trait A1452 +trait A1453 +trait A1454 +trait A1455 +trait A1456 +trait A1457 +trait A1458 +trait A1459 +trait A1460 +trait A1461 +trait A1462 +trait A1463 +trait A1464 +trait A1465 +trait A1466 +trait A1467 +trait A1468 +trait A1469 +trait A1470 +trait A1471 +trait A1472 +trait A1473 +trait A1474 +trait A1475 +trait A1476 +trait A1477 +trait A1478 +trait A1479 +trait A1480 +trait A1481 +trait A1482 +trait A1483 +trait A1484 +trait A1485 +trait A1486 +trait A1487 +trait A1488 +trait A1489 +trait A1490 +trait A1491 +trait A1492 +trait A1493 +trait A1494 +trait A1495 +trait A1496 +trait A1497 +trait A1498 +trait A1499 +trait A1500 +trait A1501 +trait A1502 +trait A1503 +trait A1504 +trait A1505 +trait A1506 +trait A1507 +trait A1508 +trait A1509 +trait A1510 +trait A1511 +trait A1512 +trait A1513 +trait A1514 +trait A1515 +trait A1516 +trait A1517 +trait A1518 +trait A1519 +trait A1520 +trait A1521 +trait A1522 +trait A1523 +trait A1524 +trait A1525 +trait A1526 +trait A1527 +trait A1528 +trait A1529 +trait A1530 +trait A1531 +trait A1532 +trait A1533 +trait A1534 +trait A1535 +trait A1536 +trait A1537 +trait A1538 +trait A1539 +trait A1540 +trait A1541 +trait A1542 +trait A1543 +trait A1544 +trait A1545 +trait A1546 +trait A1547 +trait A1548 +trait A1549 +trait A1550 +trait A1551 +trait A1552 +trait A1553 +trait A1554 +trait A1555 +trait A1556 +trait A1557 +trait A1558 +trait A1559 +trait A1560 +trait A1561 +trait A1562 +trait A1563 +trait A1564 +trait A1565 +trait A1566 +trait A1567 +trait A1568 +trait A1569 +trait A1570 +trait A1571 +trait A1572 +trait A1573 +trait A1574 +trait A1575 +trait A1576 +trait A1577 +trait A1578 +trait A1579 +trait A1580 +trait A1581 +trait A1582 +trait A1583 +trait A1584 +trait A1585 +trait A1586 +trait A1587 +trait A1588 +trait A1589 +trait A1590 +trait A1591 +trait A1592 +trait A1593 +trait A1594 +trait A1595 +trait A1596 +trait A1597 +trait A1598 +trait A1599 +trait A1600 +trait A1601 +trait A1602 +trait A1603 +trait A1604 +trait A1605 +trait A1606 +trait A1607 +trait A1608 +trait A1609 +trait A1610 +trait A1611 +trait A1612 +trait A1613 +trait A1614 +trait A1615 +trait A1616 +trait A1617 +trait A1618 +trait A1619 +trait A1620 +trait A1621 +trait A1622 +trait A1623 +trait A1624 +trait A1625 +trait A1626 +trait A1627 +trait A1628 +trait A1629 +trait A1630 +trait A1631 +trait A1632 +trait A1633 +trait A1634 +trait A1635 +trait A1636 +trait A1637 +trait A1638 +trait A1639 +trait A1640 +trait A1641 +trait A1642 +trait A1643 +trait A1644 +trait A1645 +trait A1646 +trait A1647 +trait A1648 +trait A1649 +trait A1650 +trait A1651 +trait A1652 +trait A1653 +trait A1654 +trait A1655 +trait A1656 +trait A1657 +trait A1658 +trait A1659 +trait A1660 +trait A1661 +trait A1662 +trait A1663 +trait A1664 +trait A1665 +trait A1666 +trait A1667 +trait A1668 +trait A1669 +trait A1670 +trait A1671 +trait A1672 +trait A1673 +trait A1674 +trait A1675 +trait A1676 +trait A1677 +trait A1678 +trait A1679 +trait A1680 +trait A1681 +trait A1682 +trait A1683 +trait A1684 +trait A1685 +trait A1686 +trait A1687 +trait A1688 +trait A1689 +trait A1690 +trait A1691 +trait A1692 +trait A1693 +trait A1694 +trait A1695 +trait A1696 +trait A1697 +trait A1698 +trait A1699 +trait A1700 +trait A1701 +trait A1702 +trait A1703 +trait A1704 +trait A1705 +trait A1706 +trait A1707 +trait A1708 +trait A1709 +trait A1710 +trait A1711 +trait A1712 +trait A1713 +trait A1714 +trait A1715 +trait A1716 +trait A1717 +trait A1718 +trait A1719 +trait A1720 +trait A1721 +trait A1722 +trait A1723 +trait A1724 +trait A1725 +trait A1726 +trait A1727 +trait A1728 +trait A1729 +trait A1730 +trait A1731 +trait A1732 +trait A1733 +trait A1734 +trait A1735 +trait A1736 +trait A1737 +trait A1738 +trait A1739 +trait A1740 +trait A1741 +trait A1742 +trait A1743 +trait A1744 +trait A1745 +trait A1746 +trait A1747 +trait A1748 +trait A1749 +trait A1750 +trait A1751 +trait A1752 +trait A1753 +trait A1754 +trait A1755 +trait A1756 +trait A1757 +trait A1758 +trait A1759 +trait A1760 +trait A1761 +trait A1762 +trait A1763 +trait A1764 +trait A1765 +trait A1766 +trait A1767 +trait A1768 +trait A1769 +trait A1770 +trait A1771 +trait A1772 +trait A1773 +trait A1774 +trait A1775 +trait A1776 +trait A1777 +trait A1778 +trait A1779 +trait A1780 +trait A1781 +trait A1782 +trait A1783 +trait A1784 +trait A1785 +trait A1786 +trait A1787 +trait A1788 +trait A1789 +trait A1790 +trait A1791 +trait A1792 +trait A1793 +trait A1794 +trait A1795 +trait A1796 +trait A1797 +trait A1798 +trait A1799 +trait A1800 +trait A1801 +trait A1802 +trait A1803 +trait A1804 +trait A1805 +trait A1806 +trait A1807 +trait A1808 +trait A1809 +trait A1810 +trait A1811 +trait A1812 +trait A1813 +trait A1814 +trait A1815 +trait A1816 +trait A1817 +trait A1818 +trait A1819 +trait A1820 +trait A1821 +trait A1822 +trait A1823 +trait A1824 +trait A1825 +trait A1826 +trait A1827 +trait A1828 +trait A1829 +trait A1830 +trait A1831 +trait A1832 +trait A1833 +trait A1834 +trait A1835 +trait A1836 +trait A1837 +trait A1838 +trait A1839 +trait A1840 +trait A1841 +trait A1842 +trait A1843 +trait A1844 +trait A1845 +trait A1846 +trait A1847 +trait A1848 +trait A1849 +trait A1850 +trait A1851 +trait A1852 +trait A1853 +trait A1854 +trait A1855 +trait A1856 +trait A1857 +trait A1858 +trait A1859 +trait A1860 +trait A1861 +trait A1862 +trait A1863 +trait A1864 +trait A1865 +trait A1866 +trait A1867 +trait A1868 +trait A1869 +trait A1870 +trait A1871 +trait A1872 +trait A1873 +trait A1874 +trait A1875 +trait A1876 +trait A1877 +trait A1878 +trait A1879 +trait A1880 +trait A1881 +trait A1882 +trait A1883 +trait A1884 +trait A1885 +trait A1886 +trait A1887 +trait A1888 +trait A1889 +trait A1890 +trait A1891 +trait A1892 +trait A1893 +trait A1894 +trait A1895 +trait A1896 +trait A1897 +trait A1898 +trait A1899 +trait A1900 +trait A1901 +trait A1902 +trait A1903 +trait A1904 +trait A1905 +trait A1906 +trait A1907 +trait A1908 +trait A1909 +trait A1910 +trait A1911 +trait A1912 +trait A1913 +trait A1914 +trait A1915 +trait A1916 +trait A1917 +trait A1918 +trait A1919 +trait A1920 +trait A1921 +trait A1922 +trait A1923 +trait A1924 +trait A1925 +trait A1926 +trait A1927 +trait A1928 +trait A1929 +trait A1930 +trait A1931 +trait A1932 +trait A1933 +trait A1934 +trait A1935 +trait A1936 +trait A1937 +trait A1938 +trait A1939 +trait A1940 +trait A1941 +trait A1942 +trait A1943 +trait A1944 +trait A1945 +trait A1946 +trait A1947 +trait A1948 +trait A1949 +trait A1950 +trait A1951 +trait A1952 +trait A1953 +trait A1954 +trait A1955 +trait A1956 +trait A1957 +trait A1958 +trait A1959 +trait A1960 +trait A1961 +trait A1962 +trait A1963 +trait A1964 +trait A1965 +trait A1966 +trait A1967 +trait A1968 +trait A1969 +trait A1970 +trait A1971 +trait A1972 +trait A1973 +trait A1974 +trait A1975 +trait A1976 +trait A1977 +trait A1978 +trait A1979 +trait A1980 +trait A1981 +trait A1982 +trait A1983 +trait A1984 +trait A1985 +trait A1986 +trait A1987 +trait A1988 +trait A1989 +trait A1990 +trait A1991 +trait A1992 +trait A1993 +trait A1994 +trait A1995 +trait A1996 +trait A1997 +trait A1998 +trait A1999 +trait A2000 +trait A2001 +trait A2002 +trait A2003 +trait A2004 +trait A2005 +trait A2006 +trait A2007 +trait A2008 +trait A2009 +trait A2010 +trait A2011 +trait A2012 +trait A2013 +trait A2014 +trait A2015 +trait A2016 +trait A2017 +trait A2018 +trait A2019 +trait A2020 +trait A2021 +trait A2022 +trait A2023 +trait A2024 +trait A2025 +trait A2026 +trait A2027 +trait A2028 +trait A2029 +trait A2030 +trait A2031 +trait A2032 +trait A2033 +trait A2034 +trait A2035 +trait A2036 +trait A2037 +trait A2038 +trait A2039 +trait A2040 +trait A2041 +trait A2042 +trait A2043 +trait A2044 +trait A2045 +trait A2046 +trait A2047 +trait A2048 +trait A2049 +trait A2050 +trait A2051 +trait A2052 +trait A2053 +trait A2054 +trait A2055 +trait A2056 +trait A2057 +trait A2058 +trait A2059 +trait A2060 +trait A2061 +trait A2062 +trait A2063 +trait A2064 +trait A2065 +trait A2066 +trait A2067 +trait A2068 +trait A2069 +trait A2070 +trait A2071 +trait A2072 +trait A2073 +trait A2074 +trait A2075 +trait A2076 +trait A2077 +trait A2078 +trait A2079 +trait A2080 +trait A2081 +trait A2082 +trait A2083 +trait A2084 +trait A2085 +trait A2086 +trait A2087 +trait A2088 +trait A2089 +trait A2090 +trait A2091 +trait A2092 +trait A2093 +trait A2094 +trait A2095 +trait A2096 +trait A2097 +trait A2098 +trait A2099 +trait A2100 +trait A2101 +trait A2102 +trait A2103 +trait A2104 +trait A2105 +trait A2106 +trait A2107 +trait A2108 +trait A2109 +trait A2110 +trait A2111 +trait A2112 +trait A2113 +trait A2114 +trait A2115 +trait A2116 +trait A2117 +trait A2118 +trait A2119 +trait A2120 +trait A2121 +trait A2122 +trait A2123 +trait A2124 +trait A2125 +trait A2126 +trait A2127 +trait A2128 +trait A2129 +trait A2130 +trait A2131 +trait A2132 +trait A2133 +trait A2134 +trait A2135 +trait A2136 +trait A2137 +trait A2138 +trait A2139 +trait A2140 +trait A2141 +trait A2142 +trait A2143 +trait A2144 +trait A2145 +trait A2146 +trait A2147 +trait A2148 +trait A2149 +trait A2150 +trait A2151 +trait A2152 +trait A2153 +trait A2154 +trait A2155 +trait A2156 +trait A2157 +trait A2158 +trait A2159 +trait A2160 +trait A2161 +trait A2162 +trait A2163 +trait A2164 +trait A2165 +trait A2166 +trait A2167 +trait A2168 +trait A2169 +trait A2170 +trait A2171 +trait A2172 +trait A2173 +trait A2174 +trait A2175 +trait A2176 +trait A2177 +trait A2178 +trait A2179 +trait A2180 +trait A2181 +trait A2182 +trait A2183 +trait A2184 +trait A2185 +trait A2186 +trait A2187 +trait A2188 +trait A2189 +trait A2190 +trait A2191 +trait A2192 +trait A2193 +trait A2194 +trait A2195 +trait A2196 +trait A2197 +trait A2198 +trait A2199 +trait A2200 +trait A2201 +trait A2202 +trait A2203 +trait A2204 +trait A2205 +trait A2206 +trait A2207 +trait A2208 +trait A2209 +trait A2210 +trait A2211 +trait A2212 +trait A2213 +trait A2214 +trait A2215 +trait A2216 +trait A2217 +trait A2218 +trait A2219 +trait A2220 +trait A2221 +trait A2222 +trait A2223 +trait A2224 +trait A2225 +trait A2226 +trait A2227 +trait A2228 +trait A2229 +trait A2230 +trait A2231 +trait A2232 +trait A2233 +trait A2234 +trait A2235 +trait A2236 +trait A2237 +trait A2238 +trait A2239 +trait A2240 +trait A2241 +trait A2242 +trait A2243 +trait A2244 +trait A2245 +trait A2246 +trait A2247 +trait A2248 +trait A2249 +trait A2250 +trait A2251 +trait A2252 +trait A2253 +trait A2254 +trait A2255 +trait A2256 +trait A2257 +trait A2258 +trait A2259 +trait A2260 +trait A2261 +trait A2262 +trait A2263 +trait A2264 +trait A2265 +trait A2266 +trait A2267 +trait A2268 +trait A2269 +trait A2270 +trait A2271 +trait A2272 +trait A2273 +trait A2274 +trait A2275 +trait A2276 +trait A2277 +trait A2278 +trait A2279 +trait A2280 +trait A2281 +trait A2282 +trait A2283 +trait A2284 +trait A2285 +trait A2286 +trait A2287 +trait A2288 +trait A2289 +trait A2290 +trait A2291 +trait A2292 +trait A2293 +trait A2294 +trait A2295 +trait A2296 +trait A2297 +trait A2298 +trait A2299 +trait A2300 +trait A2301 +trait A2302 +trait A2303 +trait A2304 +trait A2305 +trait A2306 +trait A2307 +trait A2308 +trait A2309 +trait A2310 +trait A2311 +trait A2312 +trait A2313 +trait A2314 +trait A2315 +trait A2316 +trait A2317 +trait A2318 +trait A2319 +trait A2320 +trait A2321 +trait A2322 +trait A2323 +trait A2324 +trait A2325 +trait A2326 +trait A2327 +trait A2328 +trait A2329 +trait A2330 +trait A2331 +trait A2332 +trait A2333 +trait A2334 +trait A2335 +trait A2336 +trait A2337 +trait A2338 +trait A2339 +trait A2340 +trait A2341 +trait A2342 +trait A2343 +trait A2344 +trait A2345 +trait A2346 +trait A2347 +trait A2348 +trait A2349 +trait A2350 +trait A2351 +trait A2352 +trait A2353 +trait A2354 +trait A2355 +trait A2356 +trait A2357 +trait A2358 +trait A2359 +trait A2360 +trait A2361 +trait A2362 +trait A2363 +trait A2364 +trait A2365 +trait A2366 +trait A2367 +trait A2368 +trait A2369 +trait A2370 +trait A2371 +trait A2372 +trait A2373 +trait A2374 +trait A2375 +trait A2376 +trait A2377 +trait A2378 +trait A2379 +trait A2380 +trait A2381 +trait A2382 +trait A2383 +trait A2384 +trait A2385 +trait A2386 +trait A2387 +trait A2388 +trait A2389 +trait A2390 +trait A2391 +trait A2392 +trait A2393 +trait A2394 +trait A2395 +trait A2396 +trait A2397 +trait A2398 +trait A2399 +trait A2400 +trait A2401 +trait A2402 +trait A2403 +trait A2404 +trait A2405 +trait A2406 +trait A2407 +trait A2408 +trait A2409 +trait A2410 +trait A2411 +trait A2412 +trait A2413 +trait A2414 +trait A2415 +trait A2416 +trait A2417 +trait A2418 +trait A2419 +trait A2420 +trait A2421 +trait A2422 +trait A2423 +trait A2424 +trait A2425 +trait A2426 +trait A2427 +trait A2428 +trait A2429 +trait A2430 +trait A2431 +trait A2432 +trait A2433 +trait A2434 +trait A2435 +trait A2436 +trait A2437 +trait A2438 +trait A2439 +trait A2440 +trait A2441 +trait A2442 +trait A2443 +trait A2444 +trait A2445 +trait A2446 +trait A2447 +trait A2448 +trait A2449 +trait A2450 +trait A2451 +trait A2452 +trait A2453 +trait A2454 +trait A2455 +trait A2456 +trait A2457 +trait A2458 +trait A2459 +trait A2460 +trait A2461 +trait A2462 +trait A2463 +trait A2464 +trait A2465 +trait A2466 +trait A2467 +trait A2468 +trait A2469 +trait A2470 +trait A2471 +trait A2472 +trait A2473 +trait A2474 +trait A2475 +trait A2476 +trait A2477 +trait A2478 +trait A2479 +trait A2480 +trait A2481 +trait A2482 +trait A2483 +trait A2484 +trait A2485 +trait A2486 +trait A2487 +trait A2488 +trait A2489 +trait A2490 +trait A2491 +trait A2492 +trait A2493 +trait A2494 +trait A2495 +trait A2496 +trait A2497 +trait A2498 +trait A2499 +trait A2500 +trait A2501 +trait A2502 +trait A2503 +trait A2504 +trait A2505 +trait A2506 +trait A2507 +trait A2508 +trait A2509 +trait A2510 +trait A2511 +trait A2512 +trait A2513 +trait A2514 +trait A2515 +trait A2516 +trait A2517 +trait A2518 +trait A2519 +trait A2520 +trait A2521 +trait A2522 +trait A2523 +trait A2524 +trait A2525 +trait A2526 +trait A2527 +trait A2528 +trait A2529 +trait A2530 +trait A2531 +trait A2532 +trait A2533 +trait A2534 +trait A2535 +trait A2536 +trait A2537 +trait A2538 +trait A2539 +trait A2540 +trait A2541 +trait A2542 +trait A2543 +trait A2544 +trait A2545 +trait A2546 +trait A2547 +trait A2548 +trait A2549 +trait A2550 +trait A2551 +trait A2552 +trait A2553 +trait A2554 +trait A2555 +trait A2556 +trait A2557 +trait A2558 +trait A2559 +trait A2560 +trait A2561 +trait A2562 +trait A2563 +trait A2564 +trait A2565 +trait A2566 +trait A2567 +trait A2568 +trait A2569 +trait A2570 +trait A2571 +trait A2572 +trait A2573 +trait A2574 +trait A2575 +trait A2576 +trait A2577 +trait A2578 +trait A2579 +trait A2580 +trait A2581 +trait A2582 +trait A2583 +trait A2584 +trait A2585 +trait A2586 +trait A2587 +trait A2588 +trait A2589 +trait A2590 +trait A2591 +trait A2592 +trait A2593 +trait A2594 +trait A2595 +trait A2596 +trait A2597 +trait A2598 +trait A2599 +trait A2600 +trait A2601 +trait A2602 +trait A2603 +trait A2604 +trait A2605 +trait A2606 +trait A2607 +trait A2608 +trait A2609 +trait A2610 +trait A2611 +trait A2612 +trait A2613 +trait A2614 +trait A2615 +trait A2616 +trait A2617 +trait A2618 +trait A2619 +trait A2620 +trait A2621 +trait A2622 +trait A2623 +trait A2624 +trait A2625 +trait A2626 +trait A2627 +trait A2628 +trait A2629 +trait A2630 +trait A2631 +trait A2632 +trait A2633 +trait A2634 +trait A2635 +trait A2636 +trait A2637 +trait A2638 +trait A2639 +trait A2640 +trait A2641 +trait A2642 +trait A2643 +trait A2644 +trait A2645 +trait A2646 +trait A2647 +trait A2648 +trait A2649 +trait A2650 +trait A2651 +trait A2652 +trait A2653 +trait A2654 +trait A2655 +trait A2656 +trait A2657 +trait A2658 +trait A2659 +trait A2660 +trait A2661 +trait A2662 +trait A2663 +trait A2664 +trait A2665 +trait A2666 +trait A2667 +trait A2668 +trait A2669 +trait A2670 +trait A2671 +trait A2672 +trait A2673 +trait A2674 +trait A2675 +trait A2676 +trait A2677 +trait A2678 +trait A2679 +trait A2680 +trait A2681 +trait A2682 +trait A2683 +trait A2684 +trait A2685 +trait A2686 +trait A2687 +trait A2688 +trait A2689 +trait A2690 +trait A2691 +trait A2692 +trait A2693 +trait A2694 +trait A2695 +trait A2696 +trait A2697 +trait A2698 +trait A2699 +trait A2700 +trait A2701 +trait A2702 +trait A2703 +trait A2704 +trait A2705 +trait A2706 +trait A2707 +trait A2708 +trait A2709 +trait A2710 +trait A2711 +trait A2712 +trait A2713 +trait A2714 +trait A2715 +trait A2716 +trait A2717 +trait A2718 +trait A2719 +trait A2720 +trait A2721 +trait A2722 +trait A2723 +trait A2724 +trait A2725 +trait A2726 +trait A2727 +trait A2728 +trait A2729 +trait A2730 +trait A2731 +trait A2732 +trait A2733 +trait A2734 +trait A2735 +trait A2736 +trait A2737 +trait A2738 +trait A2739 +trait A2740 +trait A2741 +trait A2742 +trait A2743 +trait A2744 +trait A2745 +trait A2746 +trait A2747 +trait A2748 +trait A2749 +trait A2750 +trait A2751 +trait A2752 +trait A2753 +trait A2754 +trait A2755 +trait A2756 +trait A2757 +trait A2758 +trait A2759 +trait A2760 +trait A2761 +trait A2762 +trait A2763 +trait A2764 +trait A2765 +trait A2766 +trait A2767 +trait A2768 +trait A2769 +trait A2770 +trait A2771 +trait A2772 +trait A2773 +trait A2774 +trait A2775 +trait A2776 +trait A2777 +trait A2778 +trait A2779 +trait A2780 +trait A2781 +trait A2782 +trait A2783 +trait A2784 +trait A2785 +trait A2786 +trait A2787 +trait A2788 +trait A2789 +trait A2790 +trait A2791 +trait A2792 +trait A2793 +trait A2794 +trait A2795 +trait A2796 +trait A2797 +trait A2798 +trait A2799 +trait A2800 +trait A2801 +trait A2802 +trait A2803 +trait A2804 +trait A2805 +trait A2806 +trait A2807 +trait A2808 +trait A2809 +trait A2810 +trait A2811 +trait A2812 +trait A2813 +trait A2814 +trait A2815 +trait A2816 +trait A2817 +trait A2818 +trait A2819 +trait A2820 +trait A2821 +trait A2822 +trait A2823 +trait A2824 +trait A2825 +trait A2826 +trait A2827 +trait A2828 +trait A2829 +trait A2830 +trait A2831 +trait A2832 +trait A2833 +trait A2834 +trait A2835 +trait A2836 +trait A2837 +trait A2838 +trait A2839 +trait A2840 +trait A2841 +trait A2842 +trait A2843 +trait A2844 +trait A2845 +trait A2846 +trait A2847 +trait A2848 +trait A2849 +trait A2850 +trait A2851 +trait A2852 +trait A2853 +trait A2854 +trait A2855 +trait A2856 +trait A2857 +trait A2858 +trait A2859 +trait A2860 +trait A2861 +trait A2862 +trait A2863 +trait A2864 +trait A2865 +trait A2866 +trait A2867 +trait A2868 +trait A2869 +trait A2870 +trait A2871 +trait A2872 +trait A2873 +trait A2874 +trait A2875 +trait A2876 +trait A2877 +trait A2878 +trait A2879 +trait A2880 +trait A2881 +trait A2882 +trait A2883 +trait A2884 +trait A2885 +trait A2886 +trait A2887 +trait A2888 +trait A2889 +trait A2890 +trait A2891 +trait A2892 +trait A2893 +trait A2894 +trait A2895 +trait A2896 +trait A2897 +trait A2898 +trait A2899 +trait A2900 +trait A2901 +trait A2902 +trait A2903 +trait A2904 +trait A2905 +trait A2906 +trait A2907 +trait A2908 +trait A2909 +trait A2910 +trait A2911 +trait A2912 +trait A2913 +trait A2914 +trait A2915 +trait A2916 +trait A2917 +trait A2918 +trait A2919 +trait A2920 +trait A2921 +trait A2922 +trait A2923 +trait A2924 +trait A2925 +trait A2926 +trait A2927 +trait A2928 +trait A2929 +trait A2930 +trait A2931 +trait A2932 +trait A2933 +trait A2934 +trait A2935 +trait A2936 +trait A2937 +trait A2938 +trait A2939 +trait A2940 +trait A2941 +trait A2942 +trait A2943 +trait A2944 +trait A2945 +trait A2946 +trait A2947 +trait A2948 +trait A2949 +trait A2950 +trait A2951 +trait A2952 +trait A2953 +trait A2954 +trait A2955 +trait A2956 +trait A2957 +trait A2958 +trait A2959 +trait A2960 +trait A2961 +trait A2962 +trait A2963 +trait A2964 +trait A2965 +trait A2966 +trait A2967 +trait A2968 +trait A2969 +trait A2970 +trait A2971 +trait A2972 +trait A2973 +trait A2974 +trait A2975 +trait A2976 +trait A2977 +trait A2978 +trait A2979 +trait A2980 +trait A2981 +trait A2982 +trait A2983 +trait A2984 +trait A2985 +trait A2986 +trait A2987 +trait A2988 +trait A2989 +trait A2990 +trait A2991 +trait A2992 +trait A2993 +trait A2994 +trait A2995 +trait A2996 +trait A2997 +trait A2998 +trait A2999 +trait A3000 +} +object Test extends App { + new Foo1{} +} diff --git a/test/files/neg/macro-invalidsig-context-bounds.check b/test/files/neg/macro-invalidsig-context-bounds.check index b2ce4b1caa..894eabc442 100644 --- a/test/files/neg/macro-invalidsig-context-bounds.check +++ b/test/files/neg/macro-invalidsig-context-bounds.check @@ -1,4 +1,4 @@ -Impls_1.scala:5: error: macro implementations cannot have implicit parameters other than TypeTag evidences
- def foo[U: c.TypeTag: Numeric](c: Ctx) = {
+Impls_1.scala:5: error: macro implementations cannot have implicit parameters other than AbsTypeTag evidences
+ def foo[U: c.AbsTypeTag: Numeric](c: Ctx) = {
^
one error found
diff --git a/test/files/neg/macro-invalidsig-context-bounds/Impls_1.scala b/test/files/neg/macro-invalidsig-context-bounds/Impls_1.scala index 633981ce19..5aa9a7eaf9 100644 --- a/test/files/neg/macro-invalidsig-context-bounds/Impls_1.scala +++ b/test/files/neg/macro-invalidsig-context-bounds/Impls_1.scala @@ -2,7 +2,7 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[U: c.TypeTag: Numeric](c: Ctx) = { + def foo[U: c.AbsTypeTag: Numeric](c: Ctx) = { import c.universe._ Literal(Constant(42)) } diff --git a/test/files/neg/macro-invalidsig-implicit-params.check b/test/files/neg/macro-invalidsig-implicit-params.check index 6416ed0a09..029b8a4634 100644 --- a/test/files/neg/macro-invalidsig-implicit-params.check +++ b/test/files/neg/macro-invalidsig-implicit-params.check @@ -1,4 +1,4 @@ -Impls_Macros_1.scala:5: error: macro implementations cannot have implicit parameters other than TypeTag evidences
- def foo_targs[T, U: c.TypeTag](c: Ctx)(implicit x: c.Expr[Int]) = {
- ^
+Impls_Macros_1.scala:5: error: macro implementations cannot have implicit parameters other than AbsTypeTag evidences
+ def foo_targs[T, U: c.AbsTypeTag](c: Ctx)(implicit x: c.Expr[Int]) = {
+ ^
one error found
diff --git a/test/files/neg/macro-invalidsig-implicit-params/Impls_Macros_1.scala b/test/files/neg/macro-invalidsig-implicit-params/Impls_Macros_1.scala index b32a20ba06..f724538993 100644 --- a/test/files/neg/macro-invalidsig-implicit-params/Impls_Macros_1.scala +++ b/test/files/neg/macro-invalidsig-implicit-params/Impls_Macros_1.scala @@ -2,13 +2,13 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo_targs[T, U: c.TypeTag](c: Ctx)(implicit x: c.Expr[Int]) = { + def foo_targs[T, U: c.AbsTypeTag](c: Ctx)(implicit x: c.Expr[Int]) = { import c.{prefix => prefix} import c.universe._ val body = Block( Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("invoking foo_targs...")))), - Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("type of prefix is: " + prefix.staticTpe)))), - Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("U is: " + implicitly[c.TypeTag[U]].tpe)))), + Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("type of prefix is: " + prefix.staticType)))), + Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("U is: " + implicitly[c.AbsTypeTag[U]].tpe)))), Literal(Constant(()))) c.Expr[Unit](body) } diff --git a/test/files/neg/macro-invalidsig-tparams-notparams-a/Impls_1.scala b/test/files/neg/macro-invalidsig-tparams-notparams-a/Impls_1.scala index 98a3a6db7c..afbe0f0915 100644 --- a/test/files/neg/macro-invalidsig-tparams-notparams-a/Impls_1.scala +++ b/test/files/neg/macro-invalidsig-tparams-notparams-a/Impls_1.scala @@ -2,5 +2,5 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[U: c.TypeTag](c: Ctx) = ??? + def foo[U: c.AbsTypeTag](c: Ctx) = ??? }
\ No newline at end of file diff --git a/test/files/neg/macro-invalidsig-tparams-notparams-b/Impls_1.scala b/test/files/neg/macro-invalidsig-tparams-notparams-b/Impls_1.scala index dbc7000485..b48f9d5f98 100644 --- a/test/files/neg/macro-invalidsig-tparams-notparams-b/Impls_1.scala +++ b/test/files/neg/macro-invalidsig-tparams-notparams-b/Impls_1.scala @@ -2,9 +2,9 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T: c.TypeTag, U: c.TypeTag, V](c: Ctx)(implicit V: c.TypeTag[V]): c.Expr[Unit] = { - println(implicitly[c.TypeTag[T]]) - println(implicitly[c.TypeTag[U]]) + def foo[T: c.AbsTypeTag, U: c.AbsTypeTag, V](c: Ctx)(implicit V: c.AbsTypeTag[V]): c.Expr[Unit] = { + println(implicitly[c.AbsTypeTag[T]]) + println(implicitly[c.AbsTypeTag[U]]) println(V) c.literalUnit } diff --git a/test/files/neg/macro-invalidsig-tparams-notparams-c.check b/test/files/neg/macro-invalidsig-tparams-notparams-c.check index e3e17c7506..b1078fb233 100644 --- a/test/files/neg/macro-invalidsig-tparams-notparams-c.check +++ b/test/files/neg/macro-invalidsig-tparams-notparams-c.check @@ -1,4 +1,4 @@ -Macros_Test_2.scala:3: error: wrong number of type parameters for method foo: [T, U, V](c: scala.reflect.macros.Context)(implicit evidence$1: c.TypeTag[T], implicit evidence$2: c.TypeTag[U], implicit V: c.TypeTag[V])c.Expr[Unit]
+Macros_Test_2.scala:3: error: wrong number of type parameters for method foo: [T, U, V](c: scala.reflect.macros.Context)(implicit evidence$1: c.AbsTypeTag[T], implicit evidence$2: c.AbsTypeTag[U], implicit V: c.AbsTypeTag[V])c.Expr[Unit]
def foo[V] = macro Impls.foo[V]
^
one error found
diff --git a/test/files/neg/macro-invalidsig-tparams-notparams-c/Impls_1.scala b/test/files/neg/macro-invalidsig-tparams-notparams-c/Impls_1.scala index 3edadb115d..3506bdc789 100644 --- a/test/files/neg/macro-invalidsig-tparams-notparams-c/Impls_1.scala +++ b/test/files/neg/macro-invalidsig-tparams-notparams-c/Impls_1.scala @@ -2,10 +2,10 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T: c.TypeTag, U: c.TypeTag, V](c: Ctx)(implicit V: c.TypeTag[V]): c.Expr[Unit] = { + def foo[T: c.AbsTypeTag, U: c.AbsTypeTag, V](c: Ctx)(implicit V: c.AbsTypeTag[V]): c.Expr[Unit] = { import c.universe._ - println(implicitly[c.TypeTag[T]]) - println(implicitly[c.TypeTag[U]]) + println(implicitly[c.AbsTypeTag[T]]) + println(implicitly[c.AbsTypeTag[U]]) println(V) c.literalUnit } diff --git a/test/files/neg/t3692-new.check b/test/files/neg/t3692-new.check index 349e4fe48a..5aa991c105 100644 --- a/test/files/neg/t3692-new.check +++ b/test/files/neg/t3692-new.check @@ -1,4 +1,14 @@ -t3692-new.scala:16: error: unreachable code
- case m2: Map[T, Int] => new java.util.HashMap[T, Integer]
- ^
-one error found
+t3692-new.scala:14: warning: non-variable type argument Int in type pattern Map[Int,Int] is unchecked since it is eliminated by erasure + case m0: Map[Int, Int] => new java.util.HashMap[Integer, Integer] + ^ +t3692-new.scala:15: warning: non-variable type argument Int in type pattern Map[Int,V] is unchecked since it is eliminated by erasure + case m1: Map[Int, V] => new java.util.HashMap[Integer, V] + ^ +t3692-new.scala:16: warning: non-variable type argument Int in type pattern Map[T,Int] is unchecked since it is eliminated by erasure + case m2: Map[T, Int] => new java.util.HashMap[T, Integer] + ^ +t3692-new.scala:16: error: unreachable code + case m2: Map[T, Int] => new java.util.HashMap[T, Integer] + ^ +three warnings found +one error found diff --git a/test/files/neg/t3692-old.check b/test/files/neg/t3692-old.check index 92d71f7e4e..950f82951c 100644 --- a/test/files/neg/t3692-old.check +++ b/test/files/neg/t3692-old.check @@ -1,11 +1,20 @@ -t3692-old.scala:11: warning: type Manifest in object Predef is deprecated: Use scala.reflect.ClassTag (to capture erasures) or scala.reflect.runtime.universe.TypeTag (to capture types) or both instead
- private final def toJavaMap[T, V](map: Map[T, V])(implicit m1: Manifest[T], m2: Manifest[V]): java.util.Map[_, _] = {
- ^
-t3692-old.scala:11: warning: type Manifest in object Predef is deprecated: Use scala.reflect.ClassTag (to capture erasures) or scala.reflect.runtime.universe.TypeTag (to capture types) or both instead
- private final def toJavaMap[T, V](map: Map[T, V])(implicit m1: Manifest[T], m2: Manifest[V]): java.util.Map[_, _] = {
- ^
-t3692-old.scala:15: error: unreachable code
- case m2: Map[T, Int] => new java.util.HashMap[T, Integer]
- ^
-two warnings found
-one error found
+t3692-old.scala:13: warning: non-variable type argument Int in type pattern Map[Int,Int] is unchecked since it is eliminated by erasure + case m0: Map[Int, Int] => new java.util.HashMap[Integer, Integer] + ^ +t3692-old.scala:14: warning: non-variable type argument Int in type pattern Map[Int,V] is unchecked since it is eliminated by erasure + case m1: Map[Int, V] => new java.util.HashMap[Integer, V] + ^ +t3692-old.scala:15: warning: non-variable type argument Int in type pattern Map[T,Int] is unchecked since it is eliminated by erasure + case m2: Map[T, Int] => new java.util.HashMap[T, Integer] + ^ +t3692-old.scala:11: warning: type Manifest in object Predef is deprecated: Use scala.reflect.ClassTag (to capture erasures) or scala.reflect.runtime.universe.TypeTag (to capture types) or both instead + private final def toJavaMap[T, V](map: Map[T, V])(implicit m1: Manifest[T], m2: Manifest[V]): java.util.Map[_, _] = { + ^ +t3692-old.scala:11: warning: type Manifest in object Predef is deprecated: Use scala.reflect.ClassTag (to capture erasures) or scala.reflect.runtime.universe.TypeTag (to capture types) or both instead + private final def toJavaMap[T, V](map: Map[T, V])(implicit m1: Manifest[T], m2: Manifest[V]): java.util.Map[_, _] = { + ^ +t3692-old.scala:15: error: unreachable code + case m2: Map[T, Int] => new java.util.HashMap[T, Integer] + ^ +5 warnings found +one error found diff --git a/test/files/neg/t6074.check b/test/files/neg/t6074.check new file mode 100644 index 0000000000..38670e5b3d --- /dev/null +++ b/test/files/neg/t6074.check @@ -0,0 +1,4 @@ +t6074.scala:5: error: constructor A in class A cannot be accessed in object T + def t = new A() + ^ +one error found diff --git a/test/files/neg/t6074.scala b/test/files/neg/t6074.scala new file mode 100644 index 0000000000..8c14f00f19 --- /dev/null +++ b/test/files/neg/t6074.scala @@ -0,0 +1,6 @@ +class A private () { } +class B { } +object T { + implicit def a2b(a: A): B = null + def t = new A() +} diff --git a/test/files/neg/unchecked-suppress.check b/test/files/neg/unchecked-suppress.check new file mode 100644 index 0000000000..2e23d21386 --- /dev/null +++ b/test/files/neg/unchecked-suppress.check @@ -0,0 +1,10 @@ +unchecked-suppress.scala:4: error: non-variable type argument Int in type pattern Set[Int] is unchecked since it is eliminated by erasure + case xs: Set[Int] => xs.head // unchecked + ^ +unchecked-suppress.scala:5: error: non-variable type argument String in type pattern Map[String @unchecked,String] is unchecked since it is eliminated by erasure + case xs: Map[String @unchecked, String] => xs.head // one unchecked, one okay + ^ +unchecked-suppress.scala:7: error: non-variable type argument Int in type pattern (Int, Int) => Int is unchecked since it is eliminated by erasure + case f: ((Int, Int) => Int) => // unchecked + ^ +three errors found diff --git a/test/files/neg/unchecked-suppress.flags b/test/files/neg/unchecked-suppress.flags new file mode 100644 index 0000000000..e8fb65d50c --- /dev/null +++ b/test/files/neg/unchecked-suppress.flags @@ -0,0 +1 @@ +-Xfatal-warnings
\ No newline at end of file diff --git a/test/files/neg/unchecked-suppress.scala b/test/files/neg/unchecked-suppress.scala new file mode 100644 index 0000000000..7bd61a2a4d --- /dev/null +++ b/test/files/neg/unchecked-suppress.scala @@ -0,0 +1,10 @@ +class A { + def f(x: Any) = x match { + case xs: List[String @unchecked] => xs.head // okay + case xs: Set[Int] => xs.head // unchecked + case xs: Map[String @unchecked, String] => xs.head // one unchecked, one okay + case f: ((Int @unchecked) => (Int @unchecked)) => f(5) // okay + case f: ((Int, Int) => Int) => // unchecked + case _ => "" + } +} diff --git a/test/files/pos/SI-5788.scala b/test/files/pos/SI-5788.scala new file mode 100644 index 0000000000..93b84bde87 --- /dev/null +++ b/test/files/pos/SI-5788.scala @@ -0,0 +1,4 @@ +trait Test { + trait B[T] + private final def grow[T](): B[T] = grow[T]() +} diff --git a/test/files/pos/t5897.flags b/test/files/pos/t5897.flags new file mode 100644 index 0000000000..e8fb65d50c --- /dev/null +++ b/test/files/pos/t5897.flags @@ -0,0 +1 @@ +-Xfatal-warnings
\ No newline at end of file diff --git a/test/files/pos/t5897.scala b/test/files/pos/t5897.scala new file mode 100644 index 0000000000..2e9751afe0 --- /dev/null +++ b/test/files/pos/t5897.scala @@ -0,0 +1,6 @@ +// no warning here +// (strangely, if there's an unreachable code warning *anywhere in this compilation unit*, +// the non-sensical warning goes away under -Xfatal-warnings) +class Test { + () match { case () => } +} diff --git a/test/files/pos/t5930.flags b/test/files/pos/t5930.flags new file mode 100644 index 0000000000..c7d406c649 --- /dev/null +++ b/test/files/pos/t5930.flags @@ -0,0 +1 @@ +-Ywarn-dead-code -Xfatal-warnings
\ No newline at end of file diff --git a/test/files/pos/t5930.scala b/test/files/pos/t5930.scala new file mode 100644 index 0000000000..de9d62cfe8 --- /dev/null +++ b/test/files/pos/t5930.scala @@ -0,0 +1,4 @@ +// should not warn about dead code (`matchEnd(throw new MatchError)`) + class Test { + 0 match { case x: Int => } +}
\ No newline at end of file diff --git a/test/files/pos/t6047.scala b/test/files/pos/t6047.scala index edabb95ee3..80d5e9668b 100644 --- a/test/files/pos/t6047.scala +++ b/test/files/pos/t6047.scala @@ -4,7 +4,7 @@ import java.io.InputStream object Macros { def unpack[A](input: InputStream): A = macro unpack_impl[A] - def unpack_impl[A: c.TypeTag](c: Context)(input: c.Expr[InputStream]): c.Expr[A] = { + def unpack_impl[A: c.AbsTypeTag](c: Context)(input: c.Expr[InputStream]): c.Expr[A] = { import c.universe._ def unpackcode(tpe: c.Type): c.Expr[_] = { @@ -14,7 +14,7 @@ object Macros { ??? } - unpackcode(c.typeOf[A]) + unpackcode(implicitly[c.AbsTypeTag[A]].tpe) ??? } }
\ No newline at end of file diff --git a/test/files/pos/t6084.scala b/test/files/pos/t6084.scala new file mode 100644 index 0000000000..1aa1fed391 --- /dev/null +++ b/test/files/pos/t6084.scala @@ -0,0 +1,15 @@ +package object foo { type X[T, U] = (T => U) } + +package foo { + abstract class Foo[T, U](val d: T => U) extends (T => U) { + def f1(r: X[T, U]) = r match { case x: Foo[_,_] => x.d } // inferred ok + def f2(r: X[T, U]): (T => U) = r match { case x: Foo[_,_] => x.d } // dealiased ok + def f3(r: X[T, U]): X[T, U] = r match { case x: Foo[_,_] => x.d } // alias not ok + + // x.d : foo.this.package.type.X[?scala.reflect.internal.Types$NoPrefix$?.T, ?scala.reflect.internal.Types$NoPrefix$?.U] ~>scala.this.Function1[?scala.reflect.internal.Types$NoPrefix$?.T, ?scala.reflect.internal.Types$NoPrefix$?.U] + // at scala.Predef$.assert(Predef.scala:170) + // at scala.tools.nsc.Global.assert(Global.scala:235) + // at scala.tools.nsc.ast.TreeGen.mkCast(TreeGen.scala:252) + // at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:2263) + } +} diff --git a/test/files/pos/t6157.flags b/test/files/pos/t6157.flags new file mode 100644 index 0000000000..0ebca3e7af --- /dev/null +++ b/test/files/pos/t6157.flags @@ -0,0 +1 @@ + -optimize diff --git a/test/files/pos/t6157.scala b/test/files/pos/t6157.scala new file mode 100644 index 0000000000..7463989b14 --- /dev/null +++ b/test/files/pos/t6157.scala @@ -0,0 +1,25 @@ +// SI-6157 - Compiler crash on inlined function and -optimize option + +object Test { + def main(args: Array[String]) { + Console.println( + ErrorHandler.defaultIfIOException("String")("String") + ) + } +} + +import java.io.IOException + +object ErrorHandler { + + @inline + def defaultIfIOException[T](default: => T)(closure: => T): T = { + try { + closure + } catch { + case e: IOException => + default + } + } +} + diff --git a/test/files/run/constrained-types.check b/test/files/run/constrained-types.check index 37784a20ca..da97a378e6 100644 --- a/test/files/run/constrained-types.check +++ b/test/files/run/constrained-types.check @@ -76,12 +76,10 @@ four: String = four scala> val four2 = m(four) // should have an existential bound warning: there were 1 feature warnings; re-run with -feature for details -warning: there were 1 feature warnings; re-run with -feature for details four2: String @Annot(x) forSome { val x: String } = four scala> val four3 = four2 // should have the same type as four2 warning: there were 1 feature warnings; re-run with -feature for details -warning: there were 1 feature warnings; re-run with -feature for details four3: String @Annot(x) forSome { val x: String } = four scala> val stuff = m("stuff") // should not crash @@ -105,7 +103,6 @@ scala> def m = { y } // x should not escape the local scope with a narrow type warning: there were 1 feature warnings; re-run with -feature for details -warning: there were 1 feature warnings; re-run with -feature for details m: String @Annot(x) forSome { val x: String } scala> diff --git a/test/files/run/macro-def-path-dependent-d/Impls_Macros_1.scala b/test/files/run/macro-def-path-dependent-d/Impls_Macros_1.scala index 8ba687327a..2daf6fc3fb 100644 --- a/test/files/run/macro-def-path-dependent-d/Impls_Macros_1.scala +++ b/test/files/run/macro-def-path-dependent-d/Impls_Macros_1.scala @@ -5,5 +5,5 @@ import scala.reflect.api.Universe object Test { def materializeTypeTag[T](u: Universe)(e: T) = macro materializeTypeTag_impl[T] - def materializeTypeTag_impl[T: c.TypeTag](c: Context)(u: c.Expr[Universe])(e: c.Expr[T]): c.Expr[u.value.TypeTag[T]] = ??? + def materializeTypeTag_impl[T: c.AbsTypeTag](c: Context)(u: c.Expr[Universe])(e: c.Expr[T]): c.Expr[u.value.TypeTag[T]] = ??? }
\ No newline at end of file diff --git a/test/files/run/macro-expand-nullary-generic/Impls_1.scala b/test/files/run/macro-expand-nullary-generic/Impls_1.scala index 9a0e97c8e0..fbbc23a824 100644 --- a/test/files/run/macro-expand-nullary-generic/Impls_1.scala +++ b/test/files/run/macro-expand-nullary-generic/Impls_1.scala @@ -2,14 +2,14 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def impl[T: c.TypeTag](c: Ctx) = { + def impl[T: c.AbsTypeTag](c: Ctx) = { import c.universe._ - val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("it works " + implicitly[c.TypeTag[T]])))) + val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("it works " + implicitly[c.AbsTypeTag[T]])))) c.Expr[Unit](body) } - def fooNullary[T: c.TypeTag](c: Ctx) = impl[T](c) - def fooEmpty[T: c.TypeTag](c: Ctx)() = impl[T](c) - def barNullary[T: c.TypeTag](c: Ctx)(x: c.Expr[Int]) = impl[T](c) - def barEmpty[T: c.TypeTag](c: Ctx)(x: c.Expr[Int])() = impl[T](c) + def fooNullary[T: c.AbsTypeTag](c: Ctx) = impl[T](c) + def fooEmpty[T: c.AbsTypeTag](c: Ctx)() = impl[T](c) + def barNullary[T: c.AbsTypeTag](c: Ctx)(x: c.Expr[Int]) = impl[T](c) + def barEmpty[T: c.AbsTypeTag](c: Ctx)(x: c.Expr[Int])() = impl[T](c) }
\ No newline at end of file diff --git a/test/files/run/macro-expand-tparams-explicit/Impls_1.scala b/test/files/run/macro-expand-tparams-explicit/Impls_1.scala index 9baea020f9..0a879687e8 100644 --- a/test/files/run/macro-expand-tparams-explicit/Impls_1.scala +++ b/test/files/run/macro-expand-tparams-explicit/Impls_1.scala @@ -2,9 +2,9 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[U: c.TypeTag](c: Ctx) = { + def foo[U: c.AbsTypeTag](c: Ctx) = { import c.universe._ - val U = implicitly[c.TypeTag[U]] + val U = implicitly[c.AbsTypeTag[U]] val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(U.toString)))) c.Expr[Unit](body) } diff --git a/test/files/run/macro-expand-tparams-implicit/Impls_1.scala b/test/files/run/macro-expand-tparams-implicit/Impls_1.scala index c707e5e3c0..f6cb63b9c9 100644 --- a/test/files/run/macro-expand-tparams-implicit/Impls_1.scala +++ b/test/files/run/macro-expand-tparams-implicit/Impls_1.scala @@ -2,9 +2,9 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[U: c.TypeTag](c: Ctx)(x: c.Expr[U]) = { + def foo[U: c.AbsTypeTag](c: Ctx)(x: c.Expr[U]) = { import c.universe._ - val U = implicitly[c.TypeTag[U]] + val U = implicitly[c.AbsTypeTag[U]] val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(U.toString)))) c.Expr[Unit](body) } diff --git a/test/files/run/macro-expand-tparams-prefix-a/Impls_1.scala b/test/files/run/macro-expand-tparams-prefix-a/Impls_1.scala index c707e5e3c0..f6cb63b9c9 100644 --- a/test/files/run/macro-expand-tparams-prefix-a/Impls_1.scala +++ b/test/files/run/macro-expand-tparams-prefix-a/Impls_1.scala @@ -2,9 +2,9 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[U: c.TypeTag](c: Ctx)(x: c.Expr[U]) = { + def foo[U: c.AbsTypeTag](c: Ctx)(x: c.Expr[U]) = { import c.universe._ - val U = implicitly[c.TypeTag[U]] + val U = implicitly[c.AbsTypeTag[U]] val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(U.toString)))) c.Expr[Unit](body) } diff --git a/test/files/run/macro-expand-tparams-prefix-b/Impls_1.scala b/test/files/run/macro-expand-tparams-prefix-b/Impls_1.scala index 4d58467638..7e0fa26569 100644 --- a/test/files/run/macro-expand-tparams-prefix-b/Impls_1.scala +++ b/test/files/run/macro-expand-tparams-prefix-b/Impls_1.scala @@ -2,10 +2,10 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T: c.TypeTag, U: c.TypeTag](c: Ctx)(x: c.Expr[U]) = { + def foo[T: c.AbsTypeTag, U: c.AbsTypeTag](c: Ctx)(x: c.Expr[U]) = { import c.universe._ - val T = implicitly[c.TypeTag[T]] - val U = implicitly[c.TypeTag[U]] + val T = implicitly[c.AbsTypeTag[T]] + val U = implicitly[c.AbsTypeTag[U]] val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(T.toString + " " + U.toString)))) c.Expr[Unit](body) } diff --git a/test/files/run/macro-expand-tparams-prefix-c1/Impls_1.scala b/test/files/run/macro-expand-tparams-prefix-c1/Impls_1.scala index 961d5b658d..ca515be627 100644 --- a/test/files/run/macro-expand-tparams-prefix-c1/Impls_1.scala +++ b/test/files/run/macro-expand-tparams-prefix-c1/Impls_1.scala @@ -2,11 +2,11 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T, U: c.TypeTag, V](c: Ctx)(implicit T: c.TypeTag[T], V: c.TypeTag[V]): c.Expr[Unit] = { + def foo[T, U: c.AbsTypeTag, V](c: Ctx)(implicit T: c.AbsTypeTag[T], V: c.AbsTypeTag[V]): c.Expr[Unit] = { import c.universe._ c.Expr(Block(List( Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(T.toString)))), - Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.TypeTag[U]].toString)))), + Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.AbsTypeTag[U]].toString)))), Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(V.toString))))), Literal(Constant(())))) } diff --git a/test/files/run/macro-expand-tparams-prefix-c2/Impls_Macros_1.scala b/test/files/run/macro-expand-tparams-prefix-c2/Impls_Macros_1.scala index ab92c54d2c..5a554590d8 100644 --- a/test/files/run/macro-expand-tparams-prefix-c2/Impls_Macros_1.scala +++ b/test/files/run/macro-expand-tparams-prefix-c2/Impls_Macros_1.scala @@ -2,11 +2,11 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T, U: c.TypeTag, V](c: Ctx)(implicit T: c.TypeTag[T], V: c.TypeTag[V]): c.Expr[Unit] = { + def foo[T, U: c.AbsTypeTag, V](c: Ctx)(implicit T: c.AbsTypeTag[T], V: c.AbsTypeTag[V]): c.Expr[Unit] = { import c.universe._ c.Expr(Block(List( Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(T.toString)))), - Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.TypeTag[U]].toString)))), + Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.AbsTypeTag[U]].toString)))), Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(V.toString))))), Literal(Constant(())))) } diff --git a/test/files/run/macro-impl-default-params/Impls_Macros_1.scala b/test/files/run/macro-impl-default-params/Impls_Macros_1.scala index b57af2ede4..06c58d96ab 100644 --- a/test/files/run/macro-impl-default-params/Impls_Macros_1.scala +++ b/test/files/run/macro-impl-default-params/Impls_Macros_1.scala @@ -2,13 +2,13 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo_targs[T, U: c.TypeTag](c: Ctx = null)(x: c.Expr[Int] = null) = { + def foo_targs[T, U: c.AbsTypeTag](c: Ctx = null)(x: c.Expr[Int] = null) = { import c.{prefix => prefix} import c.universe._ - val U = implicitly[c.TypeTag[U]] + val U = implicitly[c.AbsTypeTag[U]] val body = Block( Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("invoking foo_targs...")))), - Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("type of prefix is: " + prefix.staticTpe)))), + Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("type of prefix is: " + prefix.staticType)))), Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("type of prefix tree is: " + prefix.tree.tpe)))), Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant("U is: " + U.tpe)))), Literal(Constant(()))) diff --git a/test/files/run/macro-invalidusage-partialapplication-with-tparams/Impls_Macros_1.scala b/test/files/run/macro-invalidusage-partialapplication-with-tparams/Impls_Macros_1.scala index 5ce9e42b57..a54b7f4b08 100644 --- a/test/files/run/macro-invalidusage-partialapplication-with-tparams/Impls_Macros_1.scala +++ b/test/files/run/macro-invalidusage-partialapplication-with-tparams/Impls_Macros_1.scala @@ -1,7 +1,7 @@ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T: c.TypeTag](c: Ctx)(x: c.Expr[T]) = { + def foo[T: c.AbsTypeTag](c: Ctx)(x: c.Expr[T]) = { import c.universe._ val body = Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(x.tree.toString)))) c.Expr[Unit](body) diff --git a/test/files/run/macro-reify-freevars/Macros_1.scala b/test/files/run/macro-reify-freevars/Macros_1.scala index c72a7ab54f..57fdc32437 100644 --- a/test/files/run/macro-reify-freevars/Macros_1.scala +++ b/test/files/run/macro-reify-freevars/Macros_1.scala @@ -1,7 +1,7 @@ package scala.collection.slick object QueryableMacros{ - def map[T:c.TypeTag, S:c.TypeTag] + def map[T:c.AbsTypeTag, S:c.AbsTypeTag] (c: scala.reflect.macros.Context) (projection: c.Expr[T => S]) : c.Expr[scala.collection.slick.Queryable[S]] = { diff --git a/test/files/run/macro-reify-nested-a/Impls_Macros_1.scala b/test/files/run/macro-reify-nested-a/Impls_Macros_1.scala index 4dda80a117..04714970dd 100644 --- a/test/files/run/macro-reify-nested-a/Impls_Macros_1.scala +++ b/test/files/run/macro-reify-nested-a/Impls_Macros_1.scala @@ -21,9 +21,9 @@ case class Utils[C <: Context]( c:C ) { } } object QueryableMacros{ - def _helper[C <: Context,S:c.TypeTag]( c:C )( name:String, projection:c.Expr[_] ) = { + def _helper[C <: Context,S:c.AbsTypeTag]( c:C )( name:String, projection:c.Expr[_] ) = { import c.universe._ - val element_type = c.typeOf[S] + val element_type = implicitly[c.AbsTypeTag[S]].tpe val foo = c.Expr[ru.Expr[Queryable[S]]]( c.reifyTree( c.runtimeUniverse, EmptyTree, c.typeCheck( Utils[c.type](c).removeDoubleReify( @@ -32,7 +32,7 @@ object QueryableMacros{ ))) c.universe.reify{ Queryable.factory[S]( foo.splice )} } - def map[T:c.TypeTag, S:c.TypeTag] + def map[T:c.AbsTypeTag, S:c.AbsTypeTag] (c: scala.reflect.macros.Context) (projection: c.Expr[T => S]): c.Expr[Queryable[S]] = _helper[c.type,S]( c )( "_map", projection ) } diff --git a/test/files/run/macro-reify-nested-b/Impls_Macros_1.scala b/test/files/run/macro-reify-nested-b/Impls_Macros_1.scala index 4dda80a117..04714970dd 100644 --- a/test/files/run/macro-reify-nested-b/Impls_Macros_1.scala +++ b/test/files/run/macro-reify-nested-b/Impls_Macros_1.scala @@ -21,9 +21,9 @@ case class Utils[C <: Context]( c:C ) { } } object QueryableMacros{ - def _helper[C <: Context,S:c.TypeTag]( c:C )( name:String, projection:c.Expr[_] ) = { + def _helper[C <: Context,S:c.AbsTypeTag]( c:C )( name:String, projection:c.Expr[_] ) = { import c.universe._ - val element_type = c.typeOf[S] + val element_type = implicitly[c.AbsTypeTag[S]].tpe val foo = c.Expr[ru.Expr[Queryable[S]]]( c.reifyTree( c.runtimeUniverse, EmptyTree, c.typeCheck( Utils[c.type](c).removeDoubleReify( @@ -32,7 +32,7 @@ object QueryableMacros{ ))) c.universe.reify{ Queryable.factory[S]( foo.splice )} } - def map[T:c.TypeTag, S:c.TypeTag] + def map[T:c.AbsTypeTag, S:c.AbsTypeTag] (c: scala.reflect.macros.Context) (projection: c.Expr[T => S]): c.Expr[Queryable[S]] = _helper[c.type,S]( c )( "_map", projection ) } diff --git a/test/files/run/macro-reify-tagful-a/Macros_1.scala b/test/files/run/macro-reify-tagful-a/Macros_1.scala index acca4921dc..0eac74236f 100644 --- a/test/files/run/macro-reify-tagful-a/Macros_1.scala +++ b/test/files/run/macro-reify-tagful-a/Macros_1.scala @@ -5,7 +5,7 @@ object Macros { def foo[T](s: T) = macro Impls.foo[T] object Impls { - def foo[T: c.TypeTag](c: Ctx)(s: c.Expr[T]) = c.universe.reify { + def foo[T: c.AbsTypeTag](c: Ctx)(s: c.Expr[T]) = c.universe.reify { List(s.splice) } } diff --git a/test/files/run/macro-reify-tagless-a.check b/test/files/run/macro-reify-tagless-a.check index 4ee11190d6..d69f641280 100644 --- a/test/files/run/macro-reify-tagless-a.check +++ b/test/files/run/macro-reify-tagless-a.check @@ -1,3 +1,3 @@ -reflective compilation has failed: - -Macro expansion contains free type variable T defined by foo in Impls_Macros_1.scala:7:13. Have you forgotten to use c.TypeTag annotation for this type parameter? If you have troubles tracking free type variables, consider using -Xlog-free-types +reflective compilation has failed:
+
+Macro expansion contains free type variable T defined by foo in Impls_Macros_1.scala:7:13. Have you forgotten to use c.AbsTypeTag annotation for this type parameter? If you have troubles tracking free type variables, consider using -Xlog-free-types
diff --git a/test/files/run/macro-undetparams-macroitself/Impls_Macros_1.scala b/test/files/run/macro-undetparams-macroitself/Impls_Macros_1.scala index 4bcc610b1d..081894cf52 100644 --- a/test/files/run/macro-undetparams-macroitself/Impls_Macros_1.scala +++ b/test/files/run/macro-undetparams-macroitself/Impls_Macros_1.scala @@ -2,7 +2,7 @@ import scala.reflect.runtime.universe._ import scala.reflect.macros.Context object Macros { - def impl[T: c.TypeTag](c: Context)(foo: c.Expr[T]): c.Expr[Unit] = c.universe.reify { println(c.literal(implicitly[c.TypeTag[T]].toString).splice) } + def impl[T: c.AbsTypeTag](c: Context)(foo: c.Expr[T]): c.Expr[Unit] = c.universe.reify { println(c.literal(implicitly[c.AbsTypeTag[T]].toString).splice) } def foo[T](foo: T) = macro impl[T] }
\ No newline at end of file diff --git a/test/files/run/private-inline.scala b/test/files/run/private-inline.scala index a45300b026..a62007779c 100644 --- a/test/files/run/private-inline.scala +++ b/test/files/run/private-inline.scala @@ -30,7 +30,7 @@ final class A { } object Test { - def methodClasses = List("f1a", "f1b", "f2a", "f2b") map ("A$$anonfun$" + _ + "$1") + def methodClasses = List("f1a", "f2a") map ("A$$anonfun$" + _ + "$1") def main(args: Array[String]): Unit = { val a = new A diff --git a/test/files/run/reflection-magicsymbols-invoke.check b/test/files/run/reflection-magicsymbols-invoke.check new file mode 100644 index 0000000000..674716adfe --- /dev/null +++ b/test/files/run/reflection-magicsymbols-invoke.check @@ -0,0 +1,124 @@ +============ +Any
+it's important to print the list of Any's members
+if some of them change (possibly, adding and/or removing magic symbols), we must update this test
+method !=: (x$1: Any)Boolean
+method ##: ()Int
+method ==: (x$1: Any)Boolean
+method asInstanceOf: [T0]=> T0
+method equals: (x$1: Any)Boolean
+method getClass: ()java.lang.Class[_]
+method hashCode: ()Int
+method isInstanceOf: [T0]=> Boolean
+method toString: ()java.lang.String
+testing Any.!=: false
+testing Any.##: 50
+testing Any.==: true
+testing Any.asInstanceOf: class scala.ScalaReflectionException: Any.asInstanceOf requires a type argument, it cannot be invoked with mirrors
+testing Any.asInstanceOf: class scala.ScalaReflectionException: scala.Any.asInstanceOf[T0]: T0 takes 0 arguments
+testing Any.equals: true
+testing Any.getClass: class java.lang.String
+testing Any.hashCode: 50
+testing Any.isInstanceOf: class scala.ScalaReflectionException: Any.isInstanceOf requires a type argument, it cannot be invoked with mirrors
+testing Any.isInstanceOf: class scala.ScalaReflectionException: scala.Any.isInstanceOf[T0]: Boolean takes 0 arguments
+testing Any.toString: 2
+============ +AnyVal
+it's important to print the list of AnyVal's members
+if some of them change (possibly, adding and/or removing magic symbols), we must update this test
+constructor AnyVal: ()AnyVal
+method getClass: ()Class[_ <: AnyVal]
+testing AnyVal.<init>: class java.lang.InstantiationException: null
+testing AnyVal.getClass: class scala.ScalaReflectionException: expected a member of class Integer, you provided method scala.AnyVal.getClass
+============ +AnyRef
+it's important to print the list of AnyRef's members
+if some of them change (possibly, adding and/or removing magic symbols), we must update this test
+constructor Object: ()java.lang.Object
+method !=: (x$1: Any)Boolean
+method !=: (x$1: AnyRef)Boolean
+method ##: ()Int
+method $asInstanceOf: [T0]()T0
+method $isInstanceOf: [T0]()Boolean
+method ==: (x$1: Any)Boolean
+method ==: (x$1: AnyRef)Boolean
+method asInstanceOf: [T0]=> T0
+method clone: ()java.lang.Object
+method eq: (x$1: AnyRef)Boolean
+method equals: (x$1: Any)Boolean
+method finalize: ()Unit
+method getClass: ()java.lang.Class[_]
+method hashCode: ()Int
+method isInstanceOf: [T0]=> Boolean
+method ne: (x$1: AnyRef)Boolean
+method notify: ()Unit
+method notifyAll: ()Unit
+method synchronized: [T0](x$1: T0)T0
+method toString: ()java.lang.String
+method wait: ()Unit
+method wait: (x$1: Long)Unit
+method wait: (x$1: Long, x$2: Int)Unit
+testing Object.!=: false
+testing Object.##: 50
+testing Object.$asInstanceOf: class scala.ScalaReflectionException: AnyRef.$asInstanceOf is an internal method, it cannot be invoked with mirrors
+testing Object.$asInstanceOf: class scala.ScalaReflectionException: java.lang.Object.$asInstanceOf[T0](): T0 takes 0 arguments
+testing Object.$isInstanceOf: class scala.ScalaReflectionException: AnyRef.$isInstanceOf is an internal method, it cannot be invoked with mirrors
+testing Object.$isInstanceOf: class scala.ScalaReflectionException: java.lang.Object.$isInstanceOf[T0](): Boolean takes 0 arguments
+testing Object.==: true
+testing Object.clone: class java.lang.CloneNotSupportedException: java.lang.String
+testing Object.eq: true
+testing Object.equals: true
+testing Object.finalize: ()
+testing Object.getClass: class java.lang.String
+testing Object.hashCode: 50
+testing Object.ne: false
+testing Object.notify: class java.lang.IllegalMonitorStateException: null
+testing Object.notifyAll: class java.lang.IllegalMonitorStateException: null
+testing Object.synchronized: 2
+testing Object.toString: 2
+TODO: also test AnyRef.wait overloads
+============ +Array
+it's important to print the list of Array's members
+if some of them change (possibly, adding and/or removing magic symbols), we must update this test
+constructor Array: (_length: Int)Array[T]
+constructor Object: ()java.lang.Object
+method !=: (x$1: Any)Boolean
+method !=: (x$1: AnyRef)Boolean
+method ##: ()Int
+method $asInstanceOf: [T0]()T0
+method $isInstanceOf: [T0]()Boolean
+method ==: (x$1: Any)Boolean
+method ==: (x$1: AnyRef)Boolean
+method apply: (i: <?>)T
+method asInstanceOf: [T0]=> T0
+method clone: ()Array[T]
+method eq: (x$1: AnyRef)Boolean
+method equals: (x$1: Any)Boolean
+method finalize: ()Unit
+method getClass: ()java.lang.Class[_]
+method hashCode: ()Int
+method isInstanceOf: [T0]=> Boolean
+method length: => Int
+method ne: (x$1: AnyRef)Boolean
+method notify: ()Unit
+method notifyAll: ()Unit
+method synchronized: [T0](x$1: T0)T0
+method toString: ()java.lang.String
+method update: (i: <?>, x: <?>)Unit
+method wait: ()Unit
+method wait: (x$1: Long)Unit
+method wait: (x$1: Long, x$2: Int)Unit
+value _length: Int
+testing Array.length: 2
+testing Array.apply: 1
+testing Array.update: ()
+testing Array.clone: List(1, 2)
+============ +Other
+testing String.+: 23
+============ +CTM
+testing Predef.classOf: class scala.ScalaReflectionException: Predef.classOf is a compile-time function, it cannot be invoked with mirrors
+testing Predef.classOf: class scala.ScalaReflectionException: scala.Predef.classOf[T]: Class[T] takes 0 arguments
+testing Universe.reify: class scala.ScalaReflectionException: scala.reflect.base.Universe.reify is a macro, i.e. a compile-time function, it cannot be invoked with mirrors
diff --git a/test/files/run/reflection-magicsymbols-invoke.scala b/test/files/run/reflection-magicsymbols-invoke.scala new file mode 100644 index 0000000000..61ecc6458d --- /dev/null +++ b/test/files/run/reflection-magicsymbols-invoke.scala @@ -0,0 +1,94 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.universe.definitions._ +import scala.reflect.runtime.{currentMirror => cm} + +object Test extends App { + def key(sym: Symbol) = sym + ": " + sym.typeSignature + def test(tpe: Type, receiver: Any, method: String, args: Any*) { + def wrap[T](op: => T) = + try { + var result = op.asInstanceOf[AnyRef] + if (scala.runtime.ScalaRunTime.isArray(result)) + result = scala.runtime.ScalaRunTime.toObjectArray(result).toList + println(result) + } catch { + case ex: Throwable => + val realex = scala.reflect.runtime.ReflectionUtils.unwrapThrowable(ex) + println(realex.getClass + ": " + realex.getMessage) + } + print(s"testing ${tpe.typeSymbol.name}.$method: ") + wrap({ + if (method == nme.CONSTRUCTOR.toString) { + val ctor = tpe.declaration(nme.CONSTRUCTOR).asMethod + cm.reflectClass(ctor.owner.asClass).reflectConstructor(ctor)(args: _*) + } else { + val meth = tpe.declaration(newTermName(method).encodedName.toTermName).asMethod + cm.reflect(receiver).reflectMethod(meth)(args: _*) + } + }) + } + + println("============\nAny") + println("it's important to print the list of Any's members") + println("if some of them change (possibly, adding and/or removing magic symbols), we must update this test") + typeOf[Any].members.toList.sortBy(key).foreach(sym => println(key(sym))) + test(typeOf[Any], "2", "!=", "2") + test(typeOf[Any], "2", "##") + test(typeOf[Any], "2", "==", "2") + test(typeOf[Any], "2", "asInstanceOf") + test(typeOf[Any], "2", "asInstanceOf", typeOf[String]) + test(typeOf[Any], "2", "equals", "2") + test(typeOf[Any], "2", "getClass") + test(typeOf[Any], "2", "hashCode") + test(typeOf[Any], "2", "isInstanceOf") + test(typeOf[Any], "2", "isInstanceOf", typeOf[String]) + test(typeOf[Any], "2", "toString") + + println("============\nAnyVal") + println("it's important to print the list of AnyVal's members") + println("if some of them change (possibly, adding and/or removing magic symbols), we must update this test") + typeOf[AnyVal].declarations.toList.sortBy(key).foreach(sym => println(key(sym))) + test(typeOf[AnyVal], null, "<init>") + test(typeOf[AnyVal], 2, "getClass") + + println("============\nAnyRef") + println("it's important to print the list of AnyRef's members") + println("if some of them change (possibly, adding and/or removing magic symbols), we must update this test") + typeOf[AnyRef].members.toList.sortBy(key).foreach(sym => println(key(sym))) + test(typeOf[AnyRef], "2", "!=", "2") + test(typeOf[AnyRef], "2", "##") + test(typeOf[AnyRef], "2", "$asInstanceOf") + test(typeOf[AnyRef], "2", "$asInstanceOf", typeOf[String]) + test(typeOf[AnyRef], "2", "$isInstanceOf") + test(typeOf[AnyRef], "2", "$isInstanceOf", typeOf[String]) + test(typeOf[AnyRef], "2", "==", "2") + test(typeOf[AnyRef], "2", "clone") + test(typeOf[AnyRef], "2", "eq", "2") + test(typeOf[AnyRef], "2", "equals", "2") + test(typeOf[AnyRef], "2", "finalize") + test(typeOf[AnyRef], "2", "getClass") + test(typeOf[AnyRef], "2", "hashCode") + test(typeOf[AnyRef], "2", "ne", "2") + test(typeOf[AnyRef], "2", "notify") + test(typeOf[AnyRef], "2", "notifyAll") + test(typeOf[AnyRef], "2", "synchronized", "2") + test(typeOf[AnyRef], "2", "toString") + println("TODO: also test AnyRef.wait overloads") + + println("============\nArray") + println("it's important to print the list of Array's members") + println("if some of them change (possibly, adding and/or removing magic symbols), we must update this test") + ArrayClass.typeSignature.members.toList.sortBy(key).foreach(sym => println(key(sym))) + test(ArrayClass.typeSignature, Array(1, 2), "length") + test(ArrayClass.typeSignature, Array(1, 2), "apply", 0) + test(ArrayClass.typeSignature, Array(1, 2), "update", 0, 0) + test(ArrayClass.typeSignature, Array(1, 2), "clone") + + println("============\nOther") + test(typeOf[String], "2", "+", 3) + + println("============\nCTM") + test(PredefModule.moduleClass.typeSignature, Predef, "classOf") + test(PredefModule.moduleClass.typeSignature, Predef, "classOf", typeOf[String]) + test(typeOf[scala.reflect.base.Universe], scala.reflect.runtime.universe, "reify", "2") +}
\ No newline at end of file diff --git a/test/files/run/reflection-sanitychecks.check b/test/files/run/reflection-sanitychecks.check index d977e0ed66..a1df486b51 100644 --- a/test/files/run/reflection-sanitychecks.check +++ b/test/files/run/reflection-sanitychecks.check @@ -1,8 +1,30 @@ -field: 1
-method: 2
-class: CC
-object: java.lang.Error: inner and nested modules are not supported yet
-field: scala.ScalaReflectionException: expected a member of class C, you provided value D.foo
-method: scala.ScalaReflectionException: expected a member of class C, you provided method D.bar
-class: scala.ScalaReflectionException: expected a member of class C, you provided class D.C
-object: scala.ScalaReflectionException: expected a member of class C, you provided object D.O
+=========members of C in a mirror of D========= +field #1: 11 +method #1: 22 +field #2: 13 +method #2: 14 +constructor #1: scala.ScalaReflectionException: expected a constructor of class D, you provided method bar +constructor #2: scala.ScalaReflectionException: expected a constructor of class D, you provided constructor C +class: CC +object: java.lang.Error: inner and nested modules are not supported yet + +=========members of D in a mirror of D========= +field #1: 21 +method #1: 22 +field #2: 13 +method #2: 14 +constructor #1: scala.ScalaReflectionException: expected a constructor of class D, you provided method bar +constructor #2: an instance of class D +class: CC +object: java.lang.Error: inner and nested modules are not supported yet + +=========members of E in a mirror of D========= +field #1: scala.ScalaReflectionException: expected a member of class D, you provided value E.foo +method #1: scala.ScalaReflectionException: expected a member of class D, you provided method E.bar +field #2: scala.ScalaReflectionException: expected a member of class D, you provided value E.quux +method #2: scala.ScalaReflectionException: expected a member of class D, you provided method E.baz +constructor #1: scala.ScalaReflectionException: expected a constructor of class D, you provided method bar +constructor #2: scala.ScalaReflectionException: expected a constructor of class D, you provided constructor E +class: scala.ScalaReflectionException: expected a member of class D, you provided class E.C +object: scala.ScalaReflectionException: expected a member of class D, you provided object E.O + diff --git a/test/files/run/reflection-sanitychecks.scala b/test/files/run/reflection-sanitychecks.scala index e95d130460..f817f23731 100644 --- a/test/files/run/reflection-sanitychecks.scala +++ b/test/files/run/reflection-sanitychecks.scala @@ -1,30 +1,49 @@ class C { - val foo = 1 - def bar = 2 + val foo = 11 + def bar = 12 + val quux = 13 + def baz = 14 class C { override def toString = "CC" } object O { override def toString = "CO" } + override def toString = "an instance of class C" } -class D { - val foo = 3 - def bar = 4 - class C { override def toString = "DC" } - object O { override def toString = "DO" } +class D extends C { + override val foo = 21 + override def bar = 22 + override def toString = "an instance of class D" +} + +class E { + val foo = 31 + def bar = 32 + val quux = 33 + def baz = 34 + class C { override def toString = "EC" } + object O { override def toString = "EO" } + override def toString = "an instance of class E" } object Test extends App { import scala.reflect.runtime.universe._ import scala.reflect.runtime.{currentMirror => cm} - val im = cm.reflect(new C) + val im = cm.reflect(new D) def test(tpe: Type): Unit = { def failsafe(action: => Any): Any = try action catch { case ex: Throwable => ex.toString } - println("field: " + failsafe(im.reflectField(tpe.member(newTermName("foo")).asTerm).get)) - println("method: " + failsafe(im.reflectMethod(tpe.member(newTermName("bar")).asMethod)())) + println(s"=========members of ${tpe.typeSymbol.name} in a mirror of D=========") + println("field #1: " + failsafe(im.reflectField(tpe.member(newTermName("foo")).asTerm).get)) + println("method #1: " + failsafe(im.reflectMethod(tpe.member(newTermName("bar")).asMethod)())) + println("field #2: " + failsafe(im.reflectField(tpe.member(newTermName("quux")).asTerm).get)) + println("method #2: " + failsafe(im.reflectMethod(tpe.member(newTermName("baz")).asMethod)())) + println("constructor #1: " + failsafe(cm.reflectClass(im.symbol).reflectConstructor(tpe.member(newTermName("bar")).asMethod)())) + println("constructor #2: " + failsafe(cm.reflectClass(im.symbol).reflectConstructor(tpe.member(newTermName("<init>")).asMethod)())) println("class: " + failsafe(im.reflectClass(tpe.member(newTypeName("C")).asClass).reflectConstructor(typeOf[C].member(newTypeName("C")).asClass.typeSignature.member(newTermName("<init>")).asMethod)())) println("object: " + failsafe(im.reflectModule(tpe.member(newTermName("O")).asModule).instance)) + println() } test(typeOf[C]) test(typeOf[D]) + test(typeOf[E]) }
\ No newline at end of file diff --git a/test/files/run/reflection-valueclasses-derived.check b/test/files/run/reflection-valueclasses-derived.check new file mode 100644 index 0000000000..bfcfcade5e --- /dev/null +++ b/test/files/run/reflection-valueclasses-derived.check @@ -0,0 +1,3 @@ +4
+class C
+C@2
diff --git a/test/files/run/reflection-valueclasses-derived.scala b/test/files/run/reflection-valueclasses-derived.scala new file mode 100644 index 0000000000..6b08f987ba --- /dev/null +++ b/test/files/run/reflection-valueclasses-derived.scala @@ -0,0 +1,12 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.{currentMirror => cm} + +class C(val x: Int) extends AnyVal { + def foo(y: Int) = x + y +} + +object Test extends App { + println(cm.reflect(new C(2)).reflectMethod(typeOf[C].member(newTermName("foo")).asMethod)(2)) + println(cm.reflect(new C(2)).reflectMethod(typeOf[C].member(newTermName("getClass")).asMethod)()) + println(cm.reflect(new C(2)).reflectMethod(typeOf[C].member(newTermName("toString")).asMethod)()) +}
\ No newline at end of file diff --git a/test/files/run/reflection-valueclasses-magic.check b/test/files/run/reflection-valueclasses-magic.check new file mode 100644 index 0000000000..8ecad3eb91 --- /dev/null +++ b/test/files/run/reflection-valueclasses-magic.check @@ -0,0 +1,1456 @@ +============ +Byte +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Byte: ()Byte +method !=: (x$1: Any)Boolean +method !=: (x: Byte)Boolean +method !=: (x: Char)Boolean +method !=: (x: Double)Boolean +method !=: (x: Float)Boolean +method !=: (x: Int)Boolean +method !=: (x: Long)Boolean +method !=: (x: Short)Boolean +method ##: ()Int +method %: (x: Byte)Int +method %: (x: Char)Int +method %: (x: Double)Double +method %: (x: Float)Float +method %: (x: Int)Int +method %: (x: Long)Long +method %: (x: Short)Int +method &: (x: Byte)Int +method &: (x: Char)Int +method &: (x: Int)Int +method &: (x: Long)Long +method &: (x: Short)Int +method *: (x: Byte)Int +method *: (x: Char)Int +method *: (x: Double)Double +method *: (x: Float)Float +method *: (x: Int)Int +method *: (x: Long)Long +method *: (x: Short)Int +method +: (x: Byte)Int +method +: (x: Char)Int +method +: (x: Double)Double +method +: (x: Float)Float +method +: (x: Int)Int +method +: (x: Long)Long +method +: (x: Short)Int +method +: (x: String)String +method -: (x: Byte)Int +method -: (x: Char)Int +method -: (x: Double)Double +method -: (x: Float)Float +method -: (x: Int)Int +method -: (x: Long)Long +method -: (x: Short)Int +method /: (x: Byte)Int +method /: (x: Char)Int +method /: (x: Double)Double +method /: (x: Float)Float +method /: (x: Int)Int +method /: (x: Long)Long +method /: (x: Short)Int +method <: (x: Byte)Boolean +method <: (x: Char)Boolean +method <: (x: Double)Boolean +method <: (x: Float)Boolean +method <: (x: Int)Boolean +method <: (x: Long)Boolean +method <: (x: Short)Boolean +method <<: (x: Int)Int +method <<: (x: Long)Int +method <=: (x: Byte)Boolean +method <=: (x: Char)Boolean +method <=: (x: Double)Boolean +method <=: (x: Float)Boolean +method <=: (x: Int)Boolean +method <=: (x: Long)Boolean +method <=: (x: Short)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Byte)Boolean +method ==: (x: Char)Boolean +method ==: (x: Double)Boolean +method ==: (x: Float)Boolean +method ==: (x: Int)Boolean +method ==: (x: Long)Boolean +method ==: (x: Short)Boolean +method >: (x: Byte)Boolean +method >: (x: Char)Boolean +method >: (x: Double)Boolean +method >: (x: Float)Boolean +method >: (x: Int)Boolean +method >: (x: Long)Boolean +method >: (x: Short)Boolean +method >=: (x: Byte)Boolean +method >=: (x: Char)Boolean +method >=: (x: Double)Boolean +method >=: (x: Float)Boolean +method >=: (x: Int)Boolean +method >=: (x: Long)Boolean +method >=: (x: Short)Boolean +method >>: (x: Int)Int +method >>: (x: Long)Int +method >>>: (x: Int)Int +method >>>: (x: Long)Int +method ^: (x: Byte)Int +method ^: (x: Char)Int +method ^: (x: Int)Int +method ^: (x: Long)Long +method ^: (x: Short)Int +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Byte] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toByte: => Byte +method toChar: => Char +method toDouble: => Double +method toFloat: => Float +method toInt: => Int +method toLong: => Long +method toShort: => Short +method toString: ()java.lang.String +method unary_+: => Int +method unary_-: => Int +method unary_~: => Int +method |: (x: Byte)Int +method |: (x: Char)Int +method |: (x: Int)Int +method |: (x: Long)Long +method |: (x: Short)Int +testing Byte.toByte() with receiver = 2 and args = List(): [class java.lang.Byte] =======> 2 +testing Byte.toShort() with receiver = 2 and args = List(): [class java.lang.Short] =======> 2 +testing Byte.toChar() with receiver = 2 and args = List(): [class java.lang.Character] =======> +testing Byte.toInt() with receiver = 2 and args = List(): [class java.lang.Integer] =======> 2 +testing Byte.toLong() with receiver = 2 and args = List(): [class java.lang.Long] =======> 2 +testing Byte.toFloat() with receiver = 2 and args = List(): [class java.lang.Float] =======> 2.0 +testing Byte.toDouble() with receiver = 2 and args = List(): [class java.lang.Double] =======> 2.0 +testing Byte.==(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Byte.==(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Byte.==(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Byte.==(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Byte.==(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Byte.==(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Byte.==(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Byte.!=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Byte.!=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Byte.!=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Byte.!=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Byte.!=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Byte.!=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Byte.!=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Byte.<(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Byte.<(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Byte.<(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Byte.<(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Byte.<(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Byte.<(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Byte.<(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Byte.<=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Byte.<=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Byte.<=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Byte.<=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Byte.<=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Byte.<=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Byte.<=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Byte.>(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Byte.>(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Byte.>(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Byte.>(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Byte.>(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Byte.>(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Byte.>(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Byte.>=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Byte.>=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Byte.>=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Byte.>=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Byte.>=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Byte.>=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Byte.>=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Byte.+(String) with receiver = 2 and args = List(2 class java.lang.String): [class java.lang.String] =======> 22 +testing Byte.+(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Byte.+(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Byte.+(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Byte.+(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Byte.+(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Byte.+(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Byte.+(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Byte.-(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Byte.-(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Byte.-(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Byte.-(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Byte.-(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Byte.-(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Byte.-(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +testing Byte.*(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Byte.*(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Byte.*(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Byte.*(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Byte.*(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Byte.*(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Byte.*(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Byte./(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 1 +testing Byte./(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 1 +testing Byte./(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 1 +testing Byte./(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 1 +testing Byte./(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 1 +testing Byte./(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 1.0 +testing Byte./(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 1.0 +testing Byte.%(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Byte.%(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Byte.%(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Byte.%(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Byte.%(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Byte.%(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Byte.%(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +============ +Short +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Short: ()Short +method !=: (x$1: Any)Boolean +method !=: (x: Byte)Boolean +method !=: (x: Char)Boolean +method !=: (x: Double)Boolean +method !=: (x: Float)Boolean +method !=: (x: Int)Boolean +method !=: (x: Long)Boolean +method !=: (x: Short)Boolean +method ##: ()Int +method %: (x: Byte)Int +method %: (x: Char)Int +method %: (x: Double)Double +method %: (x: Float)Float +method %: (x: Int)Int +method %: (x: Long)Long +method %: (x: Short)Int +method &: (x: Byte)Int +method &: (x: Char)Int +method &: (x: Int)Int +method &: (x: Long)Long +method &: (x: Short)Int +method *: (x: Byte)Int +method *: (x: Char)Int +method *: (x: Double)Double +method *: (x: Float)Float +method *: (x: Int)Int +method *: (x: Long)Long +method *: (x: Short)Int +method +: (x: Byte)Int +method +: (x: Char)Int +method +: (x: Double)Double +method +: (x: Float)Float +method +: (x: Int)Int +method +: (x: Long)Long +method +: (x: Short)Int +method +: (x: String)String +method -: (x: Byte)Int +method -: (x: Char)Int +method -: (x: Double)Double +method -: (x: Float)Float +method -: (x: Int)Int +method -: (x: Long)Long +method -: (x: Short)Int +method /: (x: Byte)Int +method /: (x: Char)Int +method /: (x: Double)Double +method /: (x: Float)Float +method /: (x: Int)Int +method /: (x: Long)Long +method /: (x: Short)Int +method <: (x: Byte)Boolean +method <: (x: Char)Boolean +method <: (x: Double)Boolean +method <: (x: Float)Boolean +method <: (x: Int)Boolean +method <: (x: Long)Boolean +method <: (x: Short)Boolean +method <<: (x: Int)Int +method <<: (x: Long)Int +method <=: (x: Byte)Boolean +method <=: (x: Char)Boolean +method <=: (x: Double)Boolean +method <=: (x: Float)Boolean +method <=: (x: Int)Boolean +method <=: (x: Long)Boolean +method <=: (x: Short)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Byte)Boolean +method ==: (x: Char)Boolean +method ==: (x: Double)Boolean +method ==: (x: Float)Boolean +method ==: (x: Int)Boolean +method ==: (x: Long)Boolean +method ==: (x: Short)Boolean +method >: (x: Byte)Boolean +method >: (x: Char)Boolean +method >: (x: Double)Boolean +method >: (x: Float)Boolean +method >: (x: Int)Boolean +method >: (x: Long)Boolean +method >: (x: Short)Boolean +method >=: (x: Byte)Boolean +method >=: (x: Char)Boolean +method >=: (x: Double)Boolean +method >=: (x: Float)Boolean +method >=: (x: Int)Boolean +method >=: (x: Long)Boolean +method >=: (x: Short)Boolean +method >>: (x: Int)Int +method >>: (x: Long)Int +method >>>: (x: Int)Int +method >>>: (x: Long)Int +method ^: (x: Byte)Int +method ^: (x: Char)Int +method ^: (x: Int)Int +method ^: (x: Long)Long +method ^: (x: Short)Int +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Short] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toByte: => Byte +method toChar: => Char +method toDouble: => Double +method toFloat: => Float +method toInt: => Int +method toLong: => Long +method toShort: => Short +method toString: ()java.lang.String +method unary_+: => Int +method unary_-: => Int +method unary_~: => Int +method |: (x: Byte)Int +method |: (x: Char)Int +method |: (x: Int)Int +method |: (x: Long)Long +method |: (x: Short)Int +testing Short.toByte() with receiver = 2 and args = List(): [class java.lang.Byte] =======> 2 +testing Short.toShort() with receiver = 2 and args = List(): [class java.lang.Short] =======> 2 +testing Short.toChar() with receiver = 2 and args = List(): [class java.lang.Character] =======> +testing Short.toInt() with receiver = 2 and args = List(): [class java.lang.Integer] =======> 2 +testing Short.toLong() with receiver = 2 and args = List(): [class java.lang.Long] =======> 2 +testing Short.toFloat() with receiver = 2 and args = List(): [class java.lang.Float] =======> 2.0 +testing Short.toDouble() with receiver = 2 and args = List(): [class java.lang.Double] =======> 2.0 +testing Short.==(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Short.==(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Short.==(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Short.==(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Short.==(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Short.==(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Short.==(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Short.!=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Short.!=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Short.!=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Short.!=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Short.!=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Short.!=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Short.!=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Short.<(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Short.<(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Short.<(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Short.<(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Short.<(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Short.<(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Short.<(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Short.<=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Short.<=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Short.<=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Short.<=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Short.<=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Short.<=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Short.<=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Short.>(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Short.>(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Short.>(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Short.>(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Short.>(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Short.>(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Short.>(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Short.>=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Short.>=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Short.>=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Short.>=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Short.>=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Short.>=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Short.>=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Short.+(String) with receiver = 2 and args = List(2 class java.lang.String): [class java.lang.String] =======> 22 +testing Short.+(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Short.+(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Short.+(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Short.+(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Short.+(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Short.+(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Short.+(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Short.-(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Short.-(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Short.-(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Short.-(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Short.-(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Short.-(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Short.-(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +testing Short.*(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Short.*(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Short.*(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Short.*(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Short.*(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Short.*(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Short.*(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Short./(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 1 +testing Short./(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 1 +testing Short./(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 1 +testing Short./(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 1 +testing Short./(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 1 +testing Short./(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 1.0 +testing Short./(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 1.0 +testing Short.%(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Short.%(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Short.%(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Short.%(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Short.%(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Short.%(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Short.%(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +============ +Char +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Char: ()Char +method !=: (x$1: Any)Boolean +method !=: (x: Byte)Boolean +method !=: (x: Char)Boolean +method !=: (x: Double)Boolean +method !=: (x: Float)Boolean +method !=: (x: Int)Boolean +method !=: (x: Long)Boolean +method !=: (x: Short)Boolean +method ##: ()Int +method %: (x: Byte)Int +method %: (x: Char)Int +method %: (x: Double)Double +method %: (x: Float)Float +method %: (x: Int)Int +method %: (x: Long)Long +method %: (x: Short)Int +method &: (x: Byte)Int +method &: (x: Char)Int +method &: (x: Int)Int +method &: (x: Long)Long +method &: (x: Short)Int +method *: (x: Byte)Int +method *: (x: Char)Int +method *: (x: Double)Double +method *: (x: Float)Float +method *: (x: Int)Int +method *: (x: Long)Long +method *: (x: Short)Int +method +: (x: Byte)Int +method +: (x: Char)Int +method +: (x: Double)Double +method +: (x: Float)Float +method +: (x: Int)Int +method +: (x: Long)Long +method +: (x: Short)Int +method +: (x: String)String +method -: (x: Byte)Int +method -: (x: Char)Int +method -: (x: Double)Double +method -: (x: Float)Float +method -: (x: Int)Int +method -: (x: Long)Long +method -: (x: Short)Int +method /: (x: Byte)Int +method /: (x: Char)Int +method /: (x: Double)Double +method /: (x: Float)Float +method /: (x: Int)Int +method /: (x: Long)Long +method /: (x: Short)Int +method <: (x: Byte)Boolean +method <: (x: Char)Boolean +method <: (x: Double)Boolean +method <: (x: Float)Boolean +method <: (x: Int)Boolean +method <: (x: Long)Boolean +method <: (x: Short)Boolean +method <<: (x: Int)Int +method <<: (x: Long)Int +method <=: (x: Byte)Boolean +method <=: (x: Char)Boolean +method <=: (x: Double)Boolean +method <=: (x: Float)Boolean +method <=: (x: Int)Boolean +method <=: (x: Long)Boolean +method <=: (x: Short)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Byte)Boolean +method ==: (x: Char)Boolean +method ==: (x: Double)Boolean +method ==: (x: Float)Boolean +method ==: (x: Int)Boolean +method ==: (x: Long)Boolean +method ==: (x: Short)Boolean +method >: (x: Byte)Boolean +method >: (x: Char)Boolean +method >: (x: Double)Boolean +method >: (x: Float)Boolean +method >: (x: Int)Boolean +method >: (x: Long)Boolean +method >: (x: Short)Boolean +method >=: (x: Byte)Boolean +method >=: (x: Char)Boolean +method >=: (x: Double)Boolean +method >=: (x: Float)Boolean +method >=: (x: Int)Boolean +method >=: (x: Long)Boolean +method >=: (x: Short)Boolean +method >>: (x: Int)Int +method >>: (x: Long)Int +method >>>: (x: Int)Int +method >>>: (x: Long)Int +method ^: (x: Byte)Int +method ^: (x: Char)Int +method ^: (x: Int)Int +method ^: (x: Long)Long +method ^: (x: Short)Int +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Char] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toByte: => Byte +method toChar: => Char +method toDouble: => Double +method toFloat: => Float +method toInt: => Int +method toLong: => Long +method toShort: => Short +method toString: ()java.lang.String +method unary_+: => Int +method unary_-: => Int +method unary_~: => Int +method |: (x: Byte)Int +method |: (x: Char)Int +method |: (x: Int)Int +method |: (x: Long)Long +method |: (x: Short)Int +testing Char.toByte() with receiver = and args = List(): [class java.lang.Byte] =======> 2 +testing Char.toShort() with receiver = and args = List(): [class java.lang.Short] =======> 2 +testing Char.toChar() with receiver = and args = List(): [class java.lang.Character] =======> +testing Char.toInt() with receiver = and args = List(): [class java.lang.Integer] =======> 2 +testing Char.toLong() with receiver = and args = List(): [class java.lang.Long] =======> 2 +testing Char.toFloat() with receiver = and args = List(): [class java.lang.Float] =======> 2.0 +testing Char.toDouble() with receiver = and args = List(): [class java.lang.Double] =======> 2.0 +testing Char.==(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Char.==(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Char.==(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Char.==(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Char.==(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Char.==(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Char.==(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Char.!=(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Char.!=(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Char.!=(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Char.!=(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Char.!=(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Char.!=(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Char.!=(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Char.<(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Char.<(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Char.<(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Char.<(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Char.<(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Char.<(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Char.<(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Char.<=(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Char.<=(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Char.<=(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Char.<=(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Char.<=(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Char.<=(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Char.<=(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Char.>(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Char.>(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Char.>(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Char.>(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Char.>(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Char.>(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Char.>(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Char.>=(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Char.>=(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Char.>=(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Char.>=(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Char.>=(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Char.>=(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Char.>=(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Char.+(String) with receiver = and args = List(2 class java.lang.String): [class java.lang.String] =======> 2 +testing Char.+(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Char.+(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Char.+(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Char.+(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Char.+(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Char.+(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Char.+(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Char.-(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Char.-(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Char.-(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Char.-(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Char.-(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Char.-(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Char.-(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +testing Char.*(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Char.*(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Char.*(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Char.*(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Char.*(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Char.*(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Char.*(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Char./(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 1 +testing Char./(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 1 +testing Char./(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Integer] =======> 1 +testing Char./(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 1 +testing Char./(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 1 +testing Char./(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 1.0 +testing Char./(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 1.0 +testing Char.%(Byte) with receiver = and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Char.%(Short) with receiver = and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Char.%(Char) with receiver = and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Char.%(Int) with receiver = and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Char.%(Long) with receiver = and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Char.%(Float) with receiver = and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Char.%(Double) with receiver = and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +============ +Int +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Int: ()Int +method !=: (x$1: Any)Boolean +method !=: (x: Byte)Boolean +method !=: (x: Char)Boolean +method !=: (x: Double)Boolean +method !=: (x: Float)Boolean +method !=: (x: Int)Boolean +method !=: (x: Long)Boolean +method !=: (x: Short)Boolean +method ##: ()Int +method %: (x: Byte)Int +method %: (x: Char)Int +method %: (x: Double)Double +method %: (x: Float)Float +method %: (x: Int)Int +method %: (x: Long)Long +method %: (x: Short)Int +method &: (x: Byte)Int +method &: (x: Char)Int +method &: (x: Int)Int +method &: (x: Long)Long +method &: (x: Short)Int +method *: (x: Byte)Int +method *: (x: Char)Int +method *: (x: Double)Double +method *: (x: Float)Float +method *: (x: Int)Int +method *: (x: Long)Long +method *: (x: Short)Int +method +: (x: Byte)Int +method +: (x: Char)Int +method +: (x: Double)Double +method +: (x: Float)Float +method +: (x: Int)Int +method +: (x: Long)Long +method +: (x: Short)Int +method +: (x: String)String +method -: (x: Byte)Int +method -: (x: Char)Int +method -: (x: Double)Double +method -: (x: Float)Float +method -: (x: Int)Int +method -: (x: Long)Long +method -: (x: Short)Int +method /: (x: Byte)Int +method /: (x: Char)Int +method /: (x: Double)Double +method /: (x: Float)Float +method /: (x: Int)Int +method /: (x: Long)Long +method /: (x: Short)Int +method <: (x: Byte)Boolean +method <: (x: Char)Boolean +method <: (x: Double)Boolean +method <: (x: Float)Boolean +method <: (x: Int)Boolean +method <: (x: Long)Boolean +method <: (x: Short)Boolean +method <<: (x: Int)Int +method <<: (x: Long)Int +method <=: (x: Byte)Boolean +method <=: (x: Char)Boolean +method <=: (x: Double)Boolean +method <=: (x: Float)Boolean +method <=: (x: Int)Boolean +method <=: (x: Long)Boolean +method <=: (x: Short)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Byte)Boolean +method ==: (x: Char)Boolean +method ==: (x: Double)Boolean +method ==: (x: Float)Boolean +method ==: (x: Int)Boolean +method ==: (x: Long)Boolean +method ==: (x: Short)Boolean +method >: (x: Byte)Boolean +method >: (x: Char)Boolean +method >: (x: Double)Boolean +method >: (x: Float)Boolean +method >: (x: Int)Boolean +method >: (x: Long)Boolean +method >: (x: Short)Boolean +method >=: (x: Byte)Boolean +method >=: (x: Char)Boolean +method >=: (x: Double)Boolean +method >=: (x: Float)Boolean +method >=: (x: Int)Boolean +method >=: (x: Long)Boolean +method >=: (x: Short)Boolean +method >>: (x: Int)Int +method >>: (x: Long)Int +method >>>: (x: Int)Int +method >>>: (x: Long)Int +method ^: (x: Byte)Int +method ^: (x: Char)Int +method ^: (x: Int)Int +method ^: (x: Long)Long +method ^: (x: Short)Int +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Int] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toByte: => Byte +method toChar: => Char +method toDouble: => Double +method toFloat: => Float +method toInt: => Int +method toLong: => Long +method toShort: => Short +method toString: ()java.lang.String +method unary_+: => Int +method unary_-: => Int +method unary_~: => Int +method |: (x: Byte)Int +method |: (x: Char)Int +method |: (x: Int)Int +method |: (x: Long)Long +method |: (x: Short)Int +testing Int.toByte() with receiver = 2 and args = List(): [class java.lang.Byte] =======> 2 +testing Int.toShort() with receiver = 2 and args = List(): [class java.lang.Short] =======> 2 +testing Int.toChar() with receiver = 2 and args = List(): [class java.lang.Character] =======> +testing Int.toInt() with receiver = 2 and args = List(): [class java.lang.Integer] =======> 2 +testing Int.toLong() with receiver = 2 and args = List(): [class java.lang.Long] =======> 2 +testing Int.toFloat() with receiver = 2 and args = List(): [class java.lang.Float] =======> 2.0 +testing Int.toDouble() with receiver = 2 and args = List(): [class java.lang.Double] =======> 2.0 +testing Int.==(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Int.==(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Int.==(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Int.==(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Int.==(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Int.==(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Int.==(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Int.!=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Int.!=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Int.!=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Int.!=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Int.!=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Int.!=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Int.!=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Int.<(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Int.<(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Int.<(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Int.<(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Int.<(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Int.<(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Int.<(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Int.<=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Int.<=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Int.<=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Int.<=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Int.<=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Int.<=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Int.<=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Int.>(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Int.>(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Int.>(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Int.>(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Int.>(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Int.>(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Int.>(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Int.>=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Int.>=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Int.>=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Int.>=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Int.>=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Int.>=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Int.>=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Int.+(String) with receiver = 2 and args = List(2 class java.lang.String): [class java.lang.String] =======> 22 +testing Int.+(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Int.+(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Int.+(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Int.+(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Int.+(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Int.+(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Int.+(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Int.-(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Int.-(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Int.-(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Int.-(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Int.-(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Int.-(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Int.-(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +testing Int.*(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 4 +testing Int.*(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 4 +testing Int.*(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 4 +testing Int.*(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 4 +testing Int.*(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Int.*(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Int.*(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Int./(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 1 +testing Int./(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 1 +testing Int./(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 1 +testing Int./(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 1 +testing Int./(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 1 +testing Int./(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 1.0 +testing Int./(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 1.0 +testing Int.%(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Integer] =======> 0 +testing Int.%(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Integer] =======> 0 +testing Int.%(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Integer] =======> 0 +testing Int.%(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Integer] =======> 0 +testing Int.%(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Int.%(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Int.%(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +============ +Long +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Long: ()Long +method !=: (x$1: Any)Boolean +method !=: (x: Byte)Boolean +method !=: (x: Char)Boolean +method !=: (x: Double)Boolean +method !=: (x: Float)Boolean +method !=: (x: Int)Boolean +method !=: (x: Long)Boolean +method !=: (x: Short)Boolean +method ##: ()Int +method %: (x: Byte)Long +method %: (x: Char)Long +method %: (x: Double)Double +method %: (x: Float)Float +method %: (x: Int)Long +method %: (x: Long)Long +method %: (x: Short)Long +method &: (x: Byte)Long +method &: (x: Char)Long +method &: (x: Int)Long +method &: (x: Long)Long +method &: (x: Short)Long +method *: (x: Byte)Long +method *: (x: Char)Long +method *: (x: Double)Double +method *: (x: Float)Float +method *: (x: Int)Long +method *: (x: Long)Long +method *: (x: Short)Long +method +: (x: Byte)Long +method +: (x: Char)Long +method +: (x: Double)Double +method +: (x: Float)Float +method +: (x: Int)Long +method +: (x: Long)Long +method +: (x: Short)Long +method +: (x: String)String +method -: (x: Byte)Long +method -: (x: Char)Long +method -: (x: Double)Double +method -: (x: Float)Float +method -: (x: Int)Long +method -: (x: Long)Long +method -: (x: Short)Long +method /: (x: Byte)Long +method /: (x: Char)Long +method /: (x: Double)Double +method /: (x: Float)Float +method /: (x: Int)Long +method /: (x: Long)Long +method /: (x: Short)Long +method <: (x: Byte)Boolean +method <: (x: Char)Boolean +method <: (x: Double)Boolean +method <: (x: Float)Boolean +method <: (x: Int)Boolean +method <: (x: Long)Boolean +method <: (x: Short)Boolean +method <<: (x: Int)Long +method <<: (x: Long)Long +method <=: (x: Byte)Boolean +method <=: (x: Char)Boolean +method <=: (x: Double)Boolean +method <=: (x: Float)Boolean +method <=: (x: Int)Boolean +method <=: (x: Long)Boolean +method <=: (x: Short)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Byte)Boolean +method ==: (x: Char)Boolean +method ==: (x: Double)Boolean +method ==: (x: Float)Boolean +method ==: (x: Int)Boolean +method ==: (x: Long)Boolean +method ==: (x: Short)Boolean +method >: (x: Byte)Boolean +method >: (x: Char)Boolean +method >: (x: Double)Boolean +method >: (x: Float)Boolean +method >: (x: Int)Boolean +method >: (x: Long)Boolean +method >: (x: Short)Boolean +method >=: (x: Byte)Boolean +method >=: (x: Char)Boolean +method >=: (x: Double)Boolean +method >=: (x: Float)Boolean +method >=: (x: Int)Boolean +method >=: (x: Long)Boolean +method >=: (x: Short)Boolean +method >>: (x: Int)Long +method >>: (x: Long)Long +method >>>: (x: Int)Long +method >>>: (x: Long)Long +method ^: (x: Byte)Long +method ^: (x: Char)Long +method ^: (x: Int)Long +method ^: (x: Long)Long +method ^: (x: Short)Long +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Long] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toByte: => Byte +method toChar: => Char +method toDouble: => Double +method toFloat: => Float +method toInt: => Int +method toLong: => Long +method toShort: => Short +method toString: ()java.lang.String +method unary_+: => Long +method unary_-: => Long +method unary_~: => Long +method |: (x: Byte)Long +method |: (x: Char)Long +method |: (x: Int)Long +method |: (x: Long)Long +method |: (x: Short)Long +testing Long.toByte() with receiver = 2 and args = List(): [class java.lang.Byte] =======> 2 +testing Long.toShort() with receiver = 2 and args = List(): [class java.lang.Short] =======> 2 +testing Long.toChar() with receiver = 2 and args = List(): [class java.lang.Character] =======> +testing Long.toInt() with receiver = 2 and args = List(): [class java.lang.Integer] =======> 2 +testing Long.toLong() with receiver = 2 and args = List(): [class java.lang.Long] =======> 2 +testing Long.toFloat() with receiver = 2 and args = List(): [class java.lang.Float] =======> 2.0 +testing Long.toDouble() with receiver = 2 and args = List(): [class java.lang.Double] =======> 2.0 +testing Long.==(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Long.==(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Long.==(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Long.==(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Long.==(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Long.==(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Long.==(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Long.!=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Long.!=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Long.!=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Long.!=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Long.!=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Long.!=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Long.!=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Long.<(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Long.<(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Long.<(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Long.<(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Long.<(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Long.<(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Long.<(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Long.<=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Long.<=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Long.<=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Long.<=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Long.<=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Long.<=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Long.<=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Long.>(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Long.>(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Long.>(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Long.>(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Long.>(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Long.>(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Long.>(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Long.>=(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Long.>=(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Long.>=(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Long.>=(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Long.>=(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Long.>=(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Long.>=(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Long.+(String) with receiver = 2 and args = List(2 class java.lang.String): [class java.lang.String] =======> 22 +testing Long.+(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Long] =======> 4 +testing Long.+(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Long] =======> 4 +testing Long.+(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Long] =======> 4 +testing Long.+(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Long] =======> 4 +testing Long.+(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Long.+(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Long.+(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Long.-(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Long] =======> 0 +testing Long.-(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Long] =======> 0 +testing Long.-(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Long] =======> 0 +testing Long.-(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Long] =======> 0 +testing Long.-(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Long.-(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Long.-(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +testing Long.*(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Long] =======> 4 +testing Long.*(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Long] =======> 4 +testing Long.*(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Long] =======> 4 +testing Long.*(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Long] =======> 4 +testing Long.*(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 4 +testing Long.*(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Long.*(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Long./(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Long] =======> 1 +testing Long./(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Long] =======> 1 +testing Long./(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Long] =======> 1 +testing Long./(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Long] =======> 1 +testing Long./(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 1 +testing Long./(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 1.0 +testing Long./(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 1.0 +testing Long.%(Byte) with receiver = 2 and args = List(2 class java.lang.Byte): [class java.lang.Long] =======> 0 +testing Long.%(Short) with receiver = 2 and args = List(2 class java.lang.Short): [class java.lang.Long] =======> 0 +testing Long.%(Char) with receiver = 2 and args = List( class java.lang.Character): [class java.lang.Long] =======> 0 +testing Long.%(Int) with receiver = 2 and args = List(2 class java.lang.Integer): [class java.lang.Long] =======> 0 +testing Long.%(Long) with receiver = 2 and args = List(2 class java.lang.Long): [class java.lang.Long] =======> 0 +testing Long.%(Float) with receiver = 2 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Long.%(Double) with receiver = 2 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +============ +Float +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Float: ()Float +method !=: (x$1: Any)Boolean +method !=: (x: Byte)Boolean +method !=: (x: Char)Boolean +method !=: (x: Double)Boolean +method !=: (x: Float)Boolean +method !=: (x: Int)Boolean +method !=: (x: Long)Boolean +method !=: (x: Short)Boolean +method ##: ()Int +method %: (x: Byte)Float +method %: (x: Char)Float +method %: (x: Double)Double +method %: (x: Float)Float +method %: (x: Int)Float +method %: (x: Long)Float +method %: (x: Short)Float +method *: (x: Byte)Float +method *: (x: Char)Float +method *: (x: Double)Double +method *: (x: Float)Float +method *: (x: Int)Float +method *: (x: Long)Float +method *: (x: Short)Float +method +: (x: Byte)Float +method +: (x: Char)Float +method +: (x: Double)Double +method +: (x: Float)Float +method +: (x: Int)Float +method +: (x: Long)Float +method +: (x: Short)Float +method +: (x: String)String +method -: (x: Byte)Float +method -: (x: Char)Float +method -: (x: Double)Double +method -: (x: Float)Float +method -: (x: Int)Float +method -: (x: Long)Float +method -: (x: Short)Float +method /: (x: Byte)Float +method /: (x: Char)Float +method /: (x: Double)Double +method /: (x: Float)Float +method /: (x: Int)Float +method /: (x: Long)Float +method /: (x: Short)Float +method <: (x: Byte)Boolean +method <: (x: Char)Boolean +method <: (x: Double)Boolean +method <: (x: Float)Boolean +method <: (x: Int)Boolean +method <: (x: Long)Boolean +method <: (x: Short)Boolean +method <=: (x: Byte)Boolean +method <=: (x: Char)Boolean +method <=: (x: Double)Boolean +method <=: (x: Float)Boolean +method <=: (x: Int)Boolean +method <=: (x: Long)Boolean +method <=: (x: Short)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Byte)Boolean +method ==: (x: Char)Boolean +method ==: (x: Double)Boolean +method ==: (x: Float)Boolean +method ==: (x: Int)Boolean +method ==: (x: Long)Boolean +method ==: (x: Short)Boolean +method >: (x: Byte)Boolean +method >: (x: Char)Boolean +method >: (x: Double)Boolean +method >: (x: Float)Boolean +method >: (x: Int)Boolean +method >: (x: Long)Boolean +method >: (x: Short)Boolean +method >=: (x: Byte)Boolean +method >=: (x: Char)Boolean +method >=: (x: Double)Boolean +method >=: (x: Float)Boolean +method >=: (x: Int)Boolean +method >=: (x: Long)Boolean +method >=: (x: Short)Boolean +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Float] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toByte: => Byte +method toChar: => Char +method toDouble: => Double +method toFloat: => Float +method toInt: => Int +method toLong: => Long +method toShort: => Short +method toString: ()java.lang.String +method unary_+: => Float +method unary_-: => Float +testing Float.toByte() with receiver = 2.0 and args = List(): [class java.lang.Byte] =======> 2 +testing Float.toShort() with receiver = 2.0 and args = List(): [class java.lang.Short] =======> 2 +testing Float.toChar() with receiver = 2.0 and args = List(): [class java.lang.Character] =======> +testing Float.toInt() with receiver = 2.0 and args = List(): [class java.lang.Integer] =======> 2 +testing Float.toLong() with receiver = 2.0 and args = List(): [class java.lang.Long] =======> 2 +testing Float.toFloat() with receiver = 2.0 and args = List(): [class java.lang.Float] =======> 2.0 +testing Float.toDouble() with receiver = 2.0 and args = List(): [class java.lang.Double] =======> 2.0 +testing Float.==(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Float.==(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Float.==(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Float.==(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Float.==(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Float.==(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Float.==(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Float.!=(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Float.!=(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Float.!=(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Float.!=(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Float.!=(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Float.!=(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Float.!=(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Float.<(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Float.<(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Float.<(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Float.<(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Float.<(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Float.<(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Float.<(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Float.<=(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Float.<=(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Float.<=(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Float.<=(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Float.<=(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Float.<=(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Float.<=(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Float.>(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Float.>(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Float.>(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Float.>(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Float.>(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Float.>(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Float.>(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Float.>=(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Float.>=(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Float.>=(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Float.>=(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Float.>=(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Float.>=(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Float.>=(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Float.+(String) with receiver = 2.0 and args = List(2 class java.lang.String): [class java.lang.String] =======> 2.02 +testing Float.+(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Float] =======> 4.0 +testing Float.+(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Float] =======> 4.0 +testing Float.+(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Float] =======> 4.0 +testing Float.+(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Float] =======> 4.0 +testing Float.+(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Float] =======> 4.0 +testing Float.+(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Float.+(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Float.-(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Float] =======> 0.0 +testing Float.-(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Float] =======> 0.0 +testing Float.-(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Float] =======> 0.0 +testing Float.-(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Float] =======> 0.0 +testing Float.-(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Float] =======> 0.0 +testing Float.-(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Float.-(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +testing Float.*(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Float] =======> 4.0 +testing Float.*(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Float] =======> 4.0 +testing Float.*(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Float] =======> 4.0 +testing Float.*(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Float] =======> 4.0 +testing Float.*(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Float] =======> 4.0 +testing Float.*(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 4.0 +testing Float.*(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Float./(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Float] =======> 1.0 +testing Float./(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Float] =======> 1.0 +testing Float./(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Float] =======> 1.0 +testing Float./(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Float] =======> 1.0 +testing Float./(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Float] =======> 1.0 +testing Float./(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 1.0 +testing Float./(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 1.0 +testing Float.%(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Float] =======> 0.0 +testing Float.%(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Float] =======> 0.0 +testing Float.%(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Float] =======> 0.0 +testing Float.%(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Float] =======> 0.0 +testing Float.%(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Float] =======> 0.0 +testing Float.%(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Float] =======> 0.0 +testing Float.%(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +============ +Double +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Double: ()Double +method !=: (x$1: Any)Boolean +method !=: (x: Byte)Boolean +method !=: (x: Char)Boolean +method !=: (x: Double)Boolean +method !=: (x: Float)Boolean +method !=: (x: Int)Boolean +method !=: (x: Long)Boolean +method !=: (x: Short)Boolean +method ##: ()Int +method %: (x: Byte)Double +method %: (x: Char)Double +method %: (x: Double)Double +method %: (x: Float)Double +method %: (x: Int)Double +method %: (x: Long)Double +method %: (x: Short)Double +method *: (x: Byte)Double +method *: (x: Char)Double +method *: (x: Double)Double +method *: (x: Float)Double +method *: (x: Int)Double +method *: (x: Long)Double +method *: (x: Short)Double +method +: (x: Byte)Double +method +: (x: Char)Double +method +: (x: Double)Double +method +: (x: Float)Double +method +: (x: Int)Double +method +: (x: Long)Double +method +: (x: Short)Double +method +: (x: String)String +method -: (x: Byte)Double +method -: (x: Char)Double +method -: (x: Double)Double +method -: (x: Float)Double +method -: (x: Int)Double +method -: (x: Long)Double +method -: (x: Short)Double +method /: (x: Byte)Double +method /: (x: Char)Double +method /: (x: Double)Double +method /: (x: Float)Double +method /: (x: Int)Double +method /: (x: Long)Double +method /: (x: Short)Double +method <: (x: Byte)Boolean +method <: (x: Char)Boolean +method <: (x: Double)Boolean +method <: (x: Float)Boolean +method <: (x: Int)Boolean +method <: (x: Long)Boolean +method <: (x: Short)Boolean +method <=: (x: Byte)Boolean +method <=: (x: Char)Boolean +method <=: (x: Double)Boolean +method <=: (x: Float)Boolean +method <=: (x: Int)Boolean +method <=: (x: Long)Boolean +method <=: (x: Short)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Byte)Boolean +method ==: (x: Char)Boolean +method ==: (x: Double)Boolean +method ==: (x: Float)Boolean +method ==: (x: Int)Boolean +method ==: (x: Long)Boolean +method ==: (x: Short)Boolean +method >: (x: Byte)Boolean +method >: (x: Char)Boolean +method >: (x: Double)Boolean +method >: (x: Float)Boolean +method >: (x: Int)Boolean +method >: (x: Long)Boolean +method >: (x: Short)Boolean +method >=: (x: Byte)Boolean +method >=: (x: Char)Boolean +method >=: (x: Double)Boolean +method >=: (x: Float)Boolean +method >=: (x: Int)Boolean +method >=: (x: Long)Boolean +method >=: (x: Short)Boolean +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Double] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toByte: => Byte +method toChar: => Char +method toDouble: => Double +method toFloat: => Float +method toInt: => Int +method toLong: => Long +method toShort: => Short +method toString: ()java.lang.String +method unary_+: => Double +method unary_-: => Double +testing Double.toByte() with receiver = 2.0 and args = List(): [class java.lang.Byte] =======> 2 +testing Double.toShort() with receiver = 2.0 and args = List(): [class java.lang.Short] =======> 2 +testing Double.toChar() with receiver = 2.0 and args = List(): [class java.lang.Character] =======> +testing Double.toInt() with receiver = 2.0 and args = List(): [class java.lang.Integer] =======> 2 +testing Double.toLong() with receiver = 2.0 and args = List(): [class java.lang.Long] =======> 2 +testing Double.toFloat() with receiver = 2.0 and args = List(): [class java.lang.Float] =======> 2.0 +testing Double.toDouble() with receiver = 2.0 and args = List(): [class java.lang.Double] =======> 2.0 +testing Double.==(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Double.==(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Double.==(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Double.==(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Double.==(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Double.==(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Double.==(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Double.!=(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Double.!=(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Double.!=(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Double.!=(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Double.!=(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Double.!=(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Double.!=(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Double.<(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Double.<(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Double.<(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Double.<(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Double.<(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Double.<(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Double.<(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Double.<=(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Double.<=(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Double.<=(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Double.<=(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Double.<=(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Double.<=(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Double.<=(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Double.>(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> false +testing Double.>(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> false +testing Double.>(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> false +testing Double.>(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> false +testing Double.>(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> false +testing Double.>(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> false +testing Double.>(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> false +testing Double.>=(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Boolean] =======> true +testing Double.>=(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Boolean] =======> true +testing Double.>=(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Boolean] =======> true +testing Double.>=(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Boolean] =======> true +testing Double.>=(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Boolean] =======> true +testing Double.>=(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Boolean] =======> true +testing Double.>=(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Boolean] =======> true +testing Double.+(String) with receiver = 2.0 and args = List(2 class java.lang.String): [class java.lang.String] =======> 2.02 +testing Double.+(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Double] =======> 4.0 +testing Double.+(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Double] =======> 4.0 +testing Double.+(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Double] =======> 4.0 +testing Double.+(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Double] =======> 4.0 +testing Double.+(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Double] =======> 4.0 +testing Double.+(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Double] =======> 4.0 +testing Double.+(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Double.-(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Double] =======> 0.0 +testing Double.-(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Double] =======> 0.0 +testing Double.-(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Double] =======> 0.0 +testing Double.-(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Double] =======> 0.0 +testing Double.-(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Double] =======> 0.0 +testing Double.-(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Double] =======> 0.0 +testing Double.-(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +testing Double.*(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Double] =======> 4.0 +testing Double.*(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Double] =======> 4.0 +testing Double.*(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Double] =======> 4.0 +testing Double.*(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Double] =======> 4.0 +testing Double.*(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Double] =======> 4.0 +testing Double.*(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Double] =======> 4.0 +testing Double.*(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 4.0 +testing Double./(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Double] =======> 1.0 +testing Double./(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Double] =======> 1.0 +testing Double./(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Double] =======> 1.0 +testing Double./(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Double] =======> 1.0 +testing Double./(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Double] =======> 1.0 +testing Double./(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Double] =======> 1.0 +testing Double./(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 1.0 +testing Double.%(Byte) with receiver = 2.0 and args = List(2 class java.lang.Byte): [class java.lang.Double] =======> 0.0 +testing Double.%(Short) with receiver = 2.0 and args = List(2 class java.lang.Short): [class java.lang.Double] =======> 0.0 +testing Double.%(Char) with receiver = 2.0 and args = List( class java.lang.Character): [class java.lang.Double] =======> 0.0 +testing Double.%(Int) with receiver = 2.0 and args = List(2 class java.lang.Integer): [class java.lang.Double] =======> 0.0 +testing Double.%(Long) with receiver = 2.0 and args = List(2 class java.lang.Long): [class java.lang.Double] =======> 0.0 +testing Double.%(Float) with receiver = 2.0 and args = List(2.0 class java.lang.Float): [class java.lang.Double] =======> 0.0 +testing Double.%(Double) with receiver = 2.0 and args = List(2.0 class java.lang.Double): [class java.lang.Double] =======> 0.0 +============ +Boolean +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Boolean: ()Boolean +method !=: (x$1: Any)Boolean +method !=: (x: Boolean)Boolean +method ##: ()Int +method &&: (x: Boolean)Boolean +method &: (x: Boolean)Boolean +method ==: (x$1: Any)Boolean +method ==: (x: Boolean)Boolean +method ^: (x: Boolean)Boolean +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Boolean] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toString: ()java.lang.String +method unary_!: => Boolean +method |: (x: Boolean)Boolean +method ||: (x: Boolean)Boolean +testing Boolean.unary_!() with receiver = true and args = List(): [class java.lang.Boolean] =======> false +testing Boolean.==(Boolean) with receiver = true and args = List(true class java.lang.Boolean): [class java.lang.Boolean] =======> true +testing Boolean.!=(Boolean) with receiver = true and args = List(true class java.lang.Boolean): [class java.lang.Boolean] =======> false +testing Boolean.||(Boolean) with receiver = true and args = List(true class java.lang.Boolean): [class java.lang.Boolean] =======> true +testing Boolean.&&(Boolean) with receiver = true and args = List(true class java.lang.Boolean): [class java.lang.Boolean] =======> true +testing Boolean.|(Boolean) with receiver = true and args = List(true class java.lang.Boolean): [class java.lang.Boolean] =======> true +testing Boolean.&(Boolean) with receiver = true and args = List(true class java.lang.Boolean): [class java.lang.Boolean] =======> true +testing Boolean.^(Boolean) with receiver = true and args = List(true class java.lang.Boolean): [class java.lang.Boolean] =======> false +============ +Unit +it's important to print the list of Byte's members +if some of them change (possibly, adding and/or removing magic symbols), we must update this test +constructor Unit: ()Unit +method !=: (x$1: Any)Boolean +method ##: ()Int +method ==: (x$1: Any)Boolean +method asInstanceOf: [T0]=> T0 +method equals: (x$1: Any)Boolean +method getClass: ()Class[Unit] +method hashCode: ()Int +method isInstanceOf: [T0]=> Boolean +method toString: ()java.lang.String diff --git a/test/files/run/reflection-valueclasses-magic.scala b/test/files/run/reflection-valueclasses-magic.scala new file mode 100644 index 0000000000..f9feb2d504 --- /dev/null +++ b/test/files/run/reflection-valueclasses-magic.scala @@ -0,0 +1,110 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.universe.definitions._ +import scala.reflect.runtime.{currentMirror => cm} +import scala.reflect.ClassTag + +object Test extends App { + def key(sym: Symbol) = { + sym match { + // initialize parameter symbols + case meth: MethodSymbol => meth.params.flatten.map(_.typeSignature) + } + sym + ": " + sym.typeSignature + } + + def convert(value: Any, tpe: Type) = { + import scala.runtime.BoxesRunTime._ + if (tpe =:= typeOf[Byte]) toByte(value) + else if (tpe =:= typeOf[Short]) toShort(value) + else if (tpe =:= typeOf[Char]) toCharacter(value) + else if (tpe =:= typeOf[Int]) toInteger(value) + else if (tpe =:= typeOf[Long]) toLong(value) + else if (tpe =:= typeOf[Float]) toFloat(value) + else if (tpe =:= typeOf[Double]) toDouble(value) + else if (tpe =:= typeOf[String]) value.toString + else if (tpe =:= typeOf[Boolean]) value.asInstanceOf[Boolean] + else throw new Exception(s"not supported: value = $value, tpe = $tpe") + } + + def test[T: ClassTag](tpe: Type, receiver: T, method: String, args: Any*) { + def wrap[T](op: => T) = + try { + var result = op.asInstanceOf[AnyRef] + if (scala.runtime.ScalaRunTime.isArray(result)) + result = scala.runtime.ScalaRunTime.toObjectArray(result).toList + println(s"[${result.getClass}] =======> $result") + } catch { + case ex: Throwable => + val realex = scala.reflect.runtime.ReflectionUtils.unwrapThrowable(ex) + println(realex.getClass + ": " + realex.getMessage) + } + val meth = tpe.declaration(newTermName(method).encodedName.toTermName) + val testees = if (meth.isMethod) List(meth.asMethod) else meth.asTerm.alternatives.map(_.asMethod) + testees foreach (testee => { + val convertedArgs = args.zipWithIndex.map { case (arg, i) => convert(arg, testee.params.flatten.apply(i).typeSignature) } + print(s"testing ${tpe.typeSymbol.name}.$method(${testee.params.flatten.map(_.typeSignature).mkString(','.toString)}) with receiver = $receiver and args = ${convertedArgs.map(arg => arg + ' '.toString + arg.getClass).toList}: ") + wrap(cm.reflect(receiver).reflectMethod(testee)(convertedArgs: _*)) + }) + } + def header(tpe: Type) { + println(s"============\n$tpe") + println("it's important to print the list of Byte's members") + println("if some of them change (possibly, adding and/or removing magic symbols), we must update this test") + tpe.members.toList.sortBy(key).foreach(sym => println(key(sym))) + } + + def testNumeric[T: ClassTag](tpe: Type, value: T) { + header(tpe) + List("toByte", "toShort", "toChar", "toInt", "toLong", "toFloat", "toDouble") foreach (meth => test(tpe, value, meth)) + test(tpe, value, "==", 2) + test(tpe, value, "!=", 2) + test(tpe, value, "<", 2) + test(tpe, value, "<=", 2) + test(tpe, value, ">", 2) + test(tpe, value, ">=", 2) + test(tpe, value, "+", 2) + test(tpe, value, "-", 2) + test(tpe, value, "*", 2) + test(tpe, value, "/", 2) + test(tpe, value, "%", 2) + } + + def testIntegral[T: ClassTag](tpe: Type, value: T) { + testNumeric(tpe, value) + test(tpe, value, "unary_~") + test(tpe, value, "unary_+") + test(tpe, value, "unary_-") + test(tpe, value, "<<", 2) + test(tpe, value, ">>", 2) + test(tpe, value, ">>>", 2) + test(tpe, value, "|", 2) + test(tpe, value, "&", 2) + test(tpe, value, "^", 2) + } + + def testBoolean() { + header(typeOf[Boolean]) + test(typeOf[Boolean], true, "unary_!") + test(typeOf[Boolean], true, "==", true) + test(typeOf[Boolean], true, "!=", true) + test(typeOf[Boolean], true, "||", true) + test(typeOf[Boolean], true, "&&", true) + test(typeOf[Boolean], true, "|", true) + test(typeOf[Boolean], true, "&", true) + test(typeOf[Boolean], true, "^", true) + } + + def testUnit() { + header(typeOf[Unit]) + } + + testNumeric(typeOf[Byte], 2.toByte) + testNumeric(typeOf[Short], 2.toShort) + testNumeric(typeOf[Char], 2.toChar) + testNumeric(typeOf[Int], 2.toInt) + testNumeric(typeOf[Long], 2.toLong) + testNumeric(typeOf[Float], 2.toFloat) + testNumeric(typeOf[Double], 2.toDouble) + testBoolean() + testUnit() +}
\ No newline at end of file diff --git a/test/files/run/reflection-valueclasses-standard.check b/test/files/run/reflection-valueclasses-standard.check new file mode 100644 index 0000000000..060ab55406 --- /dev/null +++ b/test/files/run/reflection-valueclasses-standard.check @@ -0,0 +1,27 @@ +========byte========
+byte
+2
+========short========
+short
+2
+========int========
+int
+2
+========long========
+long
+2
+========float========
+float
+2.0
+========double========
+double
+2.0
+========char========
+char
+2
+========boolean========
+boolean
+true
+========void========
+void
+()
diff --git a/test/files/run/reflection-valueclasses-standard.scala b/test/files/run/reflection-valueclasses-standard.scala new file mode 100644 index 0000000000..18a3d1fa04 --- /dev/null +++ b/test/files/run/reflection-valueclasses-standard.scala @@ -0,0 +1,21 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.{currentMirror => cm} +import scala.reflect.{ClassTag, classTag} + +object Test extends App { + def test[T: ClassTag: TypeTag](x: T) = { + println(s"========${classTag[T].runtimeClass}========") + println(cm.reflect(x).reflectMethod(typeOf[T].member(newTermName("getClass")).asMethod)()) + println(cm.reflect(x).reflectMethod(typeOf[T].member(newTermName("toString")).asMethod)()) + } + + test(2.toByte) + test(2.toShort) + test(2.toInt) + test(2.toLong) + test(2.toFloat) + test(2.toDouble) + test('2') + test(true) + test(()) +}
\ No newline at end of file diff --git a/test/files/run/t3575.scala b/test/files/run/t3575.scala index 9ccd90a8c4..7ede65b00c 100644 --- a/test/files/run/t3575.scala +++ b/test/files/run/t3575.scala @@ -1,8 +1,8 @@ // This is here to tell me if the behavior changes, not because // the output is endorsed. case class Two[ - @specialized A, - @specialized B + @specialized(Specializable.Everything) A, + @specialized(Specializable.Everything) B ](v: A, w: B) case class TwoLong[ @@ -16,8 +16,8 @@ case class TwoCool[ ](v: A, w: B) case class TwoShort[ - @specialized() A, - @specialized() B + @specialized(Specializable.Everything) A, + @specialized(Specializable.Everything) B ](v: A, w: B) case class TwoMinimal[ diff --git a/test/files/run/t4172.check b/test/files/run/t4172.check index 4598e02d1f..f16c9e5151 100644 --- a/test/files/run/t4172.check +++ b/test/files/run/t4172.check @@ -5,7 +5,6 @@ scala> scala> val c = { class C { override def toString = "C" }; ((new C, new C { def f = 2 })) } warning: there were 1 feature warnings; re-run with -feature for details -warning: there were 1 feature warnings; re-run with -feature for details c: (C, C{def f: Int}) forSome { type C <: Object } = (C,C) scala> diff --git a/test/files/run/t4542.check b/test/files/run/t4542.check index a0600ba859..cd7a2905e2 100644 --- a/test/files/run/t4542.check +++ b/test/files/run/t4542.check @@ -15,9 +15,6 @@ scala> val f = new Foo <console>:8: warning: class Foo is deprecated: foooo val f = new Foo ^ -<console>:5: warning: class Foo is deprecated: foooo - lazy val $result = `f` - ^ f: Foo = Bippy scala> diff --git a/test/files/run/t6063.check b/test/files/run/t6063.check new file mode 100644 index 0000000000..39347383f3 --- /dev/null +++ b/test/files/run/t6063.check @@ -0,0 +1 @@ +public static int foo.Ob.f5() diff --git a/test/files/run/t6063/S_1.scala b/test/files/run/t6063/S_1.scala new file mode 100644 index 0000000000..69b1e91271 --- /dev/null +++ b/test/files/run/t6063/S_1.scala @@ -0,0 +1,11 @@ +package foo + +abstract class Foo { + private[foo] def f1 = 1 + private def f2 = 2 + protected[foo] def f3 = 3 + protected def f4 = 4 + def f5 = 5 +} + +object Ob extends Foo diff --git a/test/files/run/t6063/S_2.scala b/test/files/run/t6063/S_2.scala new file mode 100644 index 0000000000..a990cc7931 --- /dev/null +++ b/test/files/run/t6063/S_2.scala @@ -0,0 +1,8 @@ +import java.lang.reflect.Modifier._ + +object Test { + def main(args: Array[String]): Unit = { + val forwarders = Class.forName("foo.Ob").getMethods.toList filter (m => isStatic(m.getModifiers)) + forwarders.sortBy(_.toString) foreach println + } +} diff --git a/test/files/run/t6102.check b/test/files/run/t6102.check new file mode 100644 index 0000000000..b6fc4c620b --- /dev/null +++ b/test/files/run/t6102.check @@ -0,0 +1 @@ +hello
\ No newline at end of file diff --git a/test/files/run/t6102.flags b/test/files/run/t6102.flags new file mode 100644 index 0000000000..e35535c8ea --- /dev/null +++ b/test/files/run/t6102.flags @@ -0,0 +1 @@ + -Ydead-code diff --git a/test/files/run/t6102.scala b/test/files/run/t6102.scala new file mode 100644 index 0000000000..53584055bb --- /dev/null +++ b/test/files/run/t6102.scala @@ -0,0 +1,13 @@ +// SI-6102 Wrong bytecode in lazyval + no-op finally clause + +object Test { + + def main(args: Array[String]) { + try { + val x = 3 + } finally { + print("hello") + } + } +} + diff --git a/test/files/run/t6175.scala b/test/files/run/t6175.scala new file mode 100644 index 0000000000..69a0a712b6 --- /dev/null +++ b/test/files/run/t6175.scala @@ -0,0 +1,5 @@ +object Test extends App { + import reflect.runtime._ + val m = universe.typeOf[List[_]].members.head.asMethod + currentMirror.reflect (List (2, 3, 1)).reflectMethod(m) +}
\ No newline at end of file diff --git a/test/files/run/t6178.check b/test/files/run/t6178.check new file mode 100644 index 0000000000..d8263ee986 --- /dev/null +++ b/test/files/run/t6178.check @@ -0,0 +1 @@ +2
\ No newline at end of file diff --git a/test/files/run/t6178.scala b/test/files/run/t6178.scala new file mode 100644 index 0000000000..0b4cf0bbf5 --- /dev/null +++ b/test/files/run/t6178.scala @@ -0,0 +1,7 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.{currentMirror => cm} + +object Test extends App { + val plus = typeOf[java.lang.String].member(newTermName("$plus")).asMethod + println(cm.reflect("").reflectMethod(plus).apply("2")) +}
\ No newline at end of file diff --git a/test/files/run/t6181.check b/test/files/run/t6181.check new file mode 100644 index 0000000000..d8263ee986 --- /dev/null +++ b/test/files/run/t6181.check @@ -0,0 +1 @@ +2
\ No newline at end of file diff --git a/test/files/run/t6181.scala b/test/files/run/t6181.scala new file mode 100644 index 0000000000..fb23eaff63 --- /dev/null +++ b/test/files/run/t6181.scala @@ -0,0 +1,8 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.{currentMirror => cm} + +object Test extends App { + class C { def test(x: => Int) = println(x) } + val mm = cm.reflect(new C).reflectMethod(typeOf[C].member(newTermName("test")).asMethod) + mm(2) +}
\ No newline at end of file diff --git a/test/files/run/t6188.check b/test/files/run/t6188.check new file mode 100644 index 0000000000..1af3932ecd --- /dev/null +++ b/test/files/run/t6188.check @@ -0,0 +1 @@ +Failure(java.lang.Exception: this is an exception)
diff --git a/test/files/run/t6188.flags b/test/files/run/t6188.flags new file mode 100644 index 0000000000..0ebca3e7af --- /dev/null +++ b/test/files/run/t6188.flags @@ -0,0 +1 @@ + -optimize diff --git a/test/files/run/t6188.scala b/test/files/run/t6188.scala new file mode 100644 index 0000000000..48180ddf9d --- /dev/null +++ b/test/files/run/t6188.scala @@ -0,0 +1,12 @@ +// SI-6188 Optimizer incorrectly removes method invocations containing throw expressions + +import scala.util.Success + +object Test { + def main(args: Array[String]) { + val e = new Exception("this is an exception") + val res = Success(1).flatMap[Int](x => throw e) + println(res) + } +} + diff --git a/test/files/run/t6199-mirror.check b/test/files/run/t6199-mirror.check new file mode 100644 index 0000000000..ec969b5b93 --- /dev/null +++ b/test/files/run/t6199-mirror.check @@ -0,0 +1 @@ +()
diff --git a/test/files/run/t6199-mirror.scala b/test/files/run/t6199-mirror.scala new file mode 100644 index 0000000000..772a384542 --- /dev/null +++ b/test/files/run/t6199-mirror.scala @@ -0,0 +1,7 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.{currentMirror => cm} + +object Test extends App { + class C { def foo = () } + println(cm.reflect(new C).reflectMethod(typeOf[C].member(newTermName("foo")).asMethod)()) +}
\ No newline at end of file diff --git a/test/files/run/t6199-toolbox.check b/test/files/run/t6199-toolbox.check new file mode 100644 index 0000000000..ec969b5b93 --- /dev/null +++ b/test/files/run/t6199-toolbox.check @@ -0,0 +1 @@ +()
diff --git a/test/files/run/t6199-toolbox.scala b/test/files/run/t6199-toolbox.scala new file mode 100644 index 0000000000..14670f8e21 --- /dev/null +++ b/test/files/run/t6199-toolbox.scala @@ -0,0 +1,8 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.{currentMirror => cm} +import scala.tools.reflect.ToolBox + +object Test extends App { + val tb = cm.mkToolBox() + println(tb.runExpr(Literal(Constant(())))) +}
\ No newline at end of file diff --git a/test/files/speclib/instrumented.jar.desired.sha1 b/test/files/speclib/instrumented.jar.desired.sha1 index 0b8ee593da..9dd577164e 100644 --- a/test/files/speclib/instrumented.jar.desired.sha1 +++ b/test/files/speclib/instrumented.jar.desired.sha1 @@ -1 +1 @@ -474d8c20ab31438d5d4a2ba6bc07ebdcdb530b50 *instrumented.jar +1b11ac773055c1e942c6b5eb4aabdf02292a7194 ?instrumented.jar diff --git a/test/pending/run/macro-expand-implicit-macro-defeats-type-inference/Impls_1.scala b/test/pending/run/macro-expand-implicit-macro-defeats-type-inference/Impls_1.scala index 0dac664d38..26d4a45fee 100644 --- a/test/pending/run/macro-expand-implicit-macro-defeats-type-inference/Impls_1.scala +++ b/test/pending/run/macro-expand-implicit-macro-defeats-type-inference/Impls_1.scala @@ -1,7 +1,7 @@ import scala.reflect.macros.Context object Impls { - def foo[T: c.TypeTag](c: Context): c.Expr[List[T]] = c.universe.reify { + def foo[T: c.AbsTypeTag](c: Context): c.Expr[List[T]] = c.universe.reify { println("openImplicits are: " + c.literal(c.openImplicits.toString).splice) println("enclosingImplicits are: " + c.literal(c.enclosingImplicits.toString).splice) println("typetag is: " + c.literal(c.tag[T].toString).splice) diff --git a/test/pending/run/macro-expand-tparams-prefix-e1/Impls_1.scala b/test/pending/run/macro-expand-tparams-prefix-e1/Impls_1.scala index eff11d4a20..d6ebb907e5 100644 --- a/test/pending/run/macro-expand-tparams-prefix-e1/Impls_1.scala +++ b/test/pending/run/macro-expand-tparams-prefix-e1/Impls_1.scala @@ -1,11 +1,11 @@ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T, U: c.TypeTag, V](c: Ctx)(implicit T: c.TypeTag[T], V: c.TypeTag[V]): c.Expr[Unit] = { + def foo[T, U: c.AbsTypeTag, V](c: Ctx)(implicit T: c.AbsTypeTag[T], V: c.AbsTypeTag[V]): c.Expr[Unit] = { import c.universe._ Block(List( Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(T.toString)))), - Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.TypeTag[U]].toString)))), + Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.AbsTypeTag[U]].toString)))), Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(V.toString))))), Literal(Constant(()))) } diff --git a/test/pending/run/macro-expand-tparams-prefix-f1/Impls_1.scala b/test/pending/run/macro-expand-tparams-prefix-f1/Impls_1.scala index eff11d4a20..d6ebb907e5 100644 --- a/test/pending/run/macro-expand-tparams-prefix-f1/Impls_1.scala +++ b/test/pending/run/macro-expand-tparams-prefix-f1/Impls_1.scala @@ -1,11 +1,11 @@ import scala.reflect.macros.{Context => Ctx} object Impls { - def foo[T, U: c.TypeTag, V](c: Ctx)(implicit T: c.TypeTag[T], V: c.TypeTag[V]): c.Expr[Unit] = { + def foo[T, U: c.AbsTypeTag, V](c: Ctx)(implicit T: c.AbsTypeTag[T], V: c.AbsTypeTag[V]): c.Expr[Unit] = { import c.universe._ Block(List( Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(T.toString)))), - Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.TypeTag[U]].toString)))), + Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(implicitly[c.AbsTypeTag[U]].toString)))), Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Literal(Constant(V.toString))))), Literal(Constant(()))) } diff --git a/test/pending/run/macro-reify-array/Macros_1.scala b/test/pending/run/macro-reify-array/Macros_1.scala index 8fa945b9c6..99006c548a 100644 --- a/test/pending/run/macro-reify-array/Macros_1.scala +++ b/test/pending/run/macro-reify-array/Macros_1.scala @@ -4,7 +4,7 @@ object Macros { def foo[T](s: String) = macro Impls.foo[T] object Impls { - def foo[T: c.TypeTag](c: Ctx)(s: c.Expr[T]) = c.universe.reify { + def foo[T: c.AbsTypeTag](c: Ctx)(s: c.Expr[T]) = c.universe.reify { Array(s.splice) } } diff --git a/test/pending/run/macro-reify-tagful-b/Macros_1.scala b/test/pending/run/macro-reify-tagful-b/Macros_1.scala index af078d93b4..a14187e8a7 100644 --- a/test/pending/run/macro-reify-tagful-b/Macros_1.scala +++ b/test/pending/run/macro-reify-tagful-b/Macros_1.scala @@ -4,7 +4,7 @@ object Macros { def foo[T](s: T) = macro Impls.foo[List[T]] object Impls { - def foo[T: c.TypeTag](c: Ctx)(s: c.Expr[T]) = c.universe.reify { + def foo[T: c.AbsTypeTag](c: Ctx)(s: c.Expr[T]) = c.universe.reify { List(s.splice) } } diff --git a/test/pending/script/dashi.check b/test/pending/script/dashi.check new file mode 100644 index 0000000000..c3cf137155 --- /dev/null +++ b/test/pending/script/dashi.check @@ -0,0 +1 @@ +test.bippy = dingus diff --git a/test/pending/script/dashi.flags b/test/pending/script/dashi.flags new file mode 100644 index 0000000000..5b46a61e4f --- /dev/null +++ b/test/pending/script/dashi.flags @@ -0,0 +1 @@ +-i dashi/a.scala -e 'setBippy ; getBippy' diff --git a/test/pending/script/dashi/a.scala b/test/pending/script/dashi/a.scala new file mode 100644 index 0000000000..c4a07bf9ba --- /dev/null +++ b/test/pending/script/dashi/a.scala @@ -0,0 +1,2 @@ +def setBippy = sys.props("test.bippy") = "dingus" +def getBippy = println("test.bippy = " + sys.props("test.bippy")) |