📄 bridges.scala
字号:
//############################################################################// Test bridge methods//############################################################################// $Id: bridges.scala 8881 2006-10-06 17:34:40Z odersky $class A;class B;class C;class D;object Help { val max: Int = 4; var next: Int = 0; var vars: Array[String] = new Array[String](max); def init: Unit = { var i = 0; while (i < max) { vars(i) = null; i = i + 1; } next = 0; } def check(count: Int, value: String): Boolean = { var b: Boolean = true; var i: Int = 0; while (i < count) { if (vars(i) != value) b = false; i = i + 1; } while (i < max) { if (vars(i) != null) b = false; i = i + 1; } b; } def print: Unit = { var i = 0; while (i < max) { if (i > 0) Console.print(", "); Console.print(vars(i)); i = i + 1; } } def foo = { vars(next) = "foo"; next = next + 1; } def bar = { vars(next) = "bar"; next = next + 1; } def mix = { vars(next) = "mix"; next = next + 1; } def sub = { vars(next) = "sub"; next = next + 1; }}import Help.foo;import Help.bar;import Help.mix;import Help.sub;abstract class Foo___ { type I>:Null<:AnyRef; def f: I ; f; }abstract class Foo__f { type I>:Null<:AnyRef; def f: I = {foo; null}; f; }abstract class Foo_I_ { class I ; def f: I ; f; }abstract class Foo_If { class I ; def f: I = {foo; null}; f; }abstract class FooX__[X] { type I>:Null<:AnyRef; def f: I ; f; }abstract class FooX_f[X] { type I>:Null<:AnyRef; def f: I = {foo; null}; f; }abstract class FooXI_[X] { class I ; def f: I ; f; }abstract class FooXIf[X] { class I ; def f: I = {foo; null}; f; }trait Bar___ { type I>:Null<:AnyRef; def f: I ; f; }trait Bar__f { type I>:Null<:AnyRef; def f: I = {bar; null}; f; }trait Bar_I_ { class I ; def f: I ; f; }trait Bar_If { class I ; def f: I = {bar; null}; f; }trait BarY__[Y] { type I>:Null<:AnyRef; def f: I ; f; }trait BarY_f[Y] { type I>:Null<:AnyRef; def f: I = {bar; null}; f; }trait BarYI_[Y] { class I ; def f: I ; f; }trait BarYIf[Y] { class I ; def f: I = {bar; null}; f; }/* */abstract class Mix___eFoo___ extends Foo___ { ; ; f; }/* */abstract class Mix___eFoo___wBar___ extends Foo___ with Bar___ { ; ; f; }/* */abstract class Mix___eFoo___wBar__f extends Foo___ with Bar__f { ; ; f; }/* */abstract class Mix___eFoo___wBar_I_ extends Foo___ with Bar_I_ { ; ; f; }/* *//* */ class Mix___eFoo___wBar_If extends Foo___ with Bar_If { ; ; f; }/* */abstract class Mix___eFoo___wBarY__ extends Foo___ with BarY__[B] { ; ; f; }/* */abstract class Mix___eFoo___wBarY_f extends Foo___ with BarY_f[B] { ; ; f; }/* */abstract class Mix___eFoo___wBarYI_ extends Foo___ with BarYI_[B] { ; ; f; }/* *//* */ class Mix___eFoo___wBarYIf extends Foo___ with BarYIf[B] { ; ; f; }/* */abstract class Mix___eFoo__f extends Foo__f { ; ; f; }/* */abstract class Mix___eFoo__fwBar___ extends Foo__f with Bar___ { ; ; f; }// */abstract class Mix___eFoo__fwBar__f extends Foo__f with Bar__f { ; ; f; }/* *//* */ class Mix___eFoo__fwBar_I_ extends Foo__f with Bar_I_ { ; ; f; }// *//* */ class Mix___eFoo__fwBar_If extends Foo__f with Bar_If { ; ; f; }/* */abstract class Mix___eFoo__fwBarY__ extends Foo__f with BarY__[B] { ; ; f; }// */abstract class Mix___eFoo__fwBarY_f extends Foo__f with BarY_f[B] { ; ; f; }/* *//* */ class Mix___eFoo__fwBarYI_ extends Foo__f with BarYI_[B] { ; ; f; }// *//* */ class Mix___eFoo__fwBarYIf extends Foo__f with BarYIf[B] { ; ; f; }/* */abstract class Mix___eFoo_I_ extends Foo_I_ { ; ; f; }/* */abstract class Mix___eFoo_I_wBar___ extends Foo_I_ with Bar___ { ; ; f; }/* *//* */ class Mix___eFoo_I_wBar__f extends Foo_I_ with Bar__f { ; ; f; }// */abstract class Mix___eFoo_I_wBar_I_ extends Foo_I_ with Bar_I_ { ; ; f; }// *//* */ class Mix___eFoo_I_wBar_If extends Foo_I_ with Bar_If { ; ; f; }/* */abstract class Mix___eFoo_I_wBarY__ extends Foo_I_ with BarY__[B] { ; ; f; }/* *//* */ class Mix___eFoo_I_wBarY_f extends Foo_I_ with BarY_f[B] { ; ; f; }// */abstract class Mix___eFoo_I_wBarYI_ extends Foo_I_ with BarYI_[B] { ; ; f; }// *//* */ class Mix___eFoo_I_wBarYIf extends Foo_I_ with BarYIf[B] { ; ; f; }/* *//* */ class Mix___eFoo_If extends Foo_If { ; ; f; }/* *//* */ class Mix___eFoo_IfwBar___ extends Foo_If with Bar___ { ; ; f; }// *//* */ class Mix___eFoo_IfwBar__f extends Foo_If with Bar__f { ; ; f; }// *//* */ class Mix___eFoo_IfwBar_I_ extends Foo_If with Bar_I_ { ; ; f; }// *//* */ class Mix___eFoo_IfwBar_If extends Foo_If with Bar_If { ; ; f; }/* *//* */ class Mix___eFoo_IfwBarY__ extends Foo_If with BarY__[B] { ; ; f; }// *//* */ class Mix___eFoo_IfwBarY_f extends Foo_If with BarY_f[B] { ; ; f; }// *//* */ class Mix___eFoo_IfwBarYI_ extends Foo_If with BarYI_[B] { ; ; f; }// *//* */ class Mix___eFoo_IfwBarYIf extends Foo_If with BarYIf[B] { ; ; f; }/* */abstract class Mix___eFooX__ extends FooX__[A] { ; ; f; }/* */abstract class Mix___eFooX__wBar___ extends FooX__[A] with Bar___ { ; ; f; }/* */abstract class Mix___eFooX__wBar__f extends FooX__[A] with Bar__f { ; ; f; }/* */abstract class Mix___eFooX__wBar_I_ extends FooX__[A] with Bar_I_ { ; ; f; }/* *//* */ class Mix___eFooX__wBar_If extends FooX__[A] with Bar_If { ; ; f; }/* */abstract class Mix___eFooX__wBarY__ extends FooX__[A] with BarY__[B] { ; ; f; }/* */abstract class Mix___eFooX__wBarY_f extends FooX__[A] with BarY_f[B] { ; ; f; }/* */abstract class Mix___eFooX__wBarYI_ extends FooX__[A] with BarYI_[B] { ; ; f; }/* *//* */ class Mix___eFooX__wBarYIf extends FooX__[A] with BarYIf[B] { ; ; f; }/* */abstract class Mix___eFooX_f extends FooX_f[A] { ; ; f; }/* */abstract class Mix___eFooX_fwBar___ extends FooX_f[A] with Bar___ { ; ; f; }// */abstract class Mix___eFooX_fwBar__f extends FooX_f[A] with Bar__f { ; ; f; }/* *//* */ class Mix___eFooX_fwBar_I_ extends FooX_f[A] with Bar_I_ { ; ; f; }// *//* */ class Mix___eFooX_fwBar_If extends FooX_f[A] with Bar_If { ; ; f; }/* */abstract class Mix___eFooX_fwBarY__ extends FooX_f[A] with BarY__[B] { ; ; f; }// */abstract class Mix___eFooX_fwBarY_f extends FooX_f[A] with BarY_f[B] { ; ; f; }/* *//* */ class Mix___eFooX_fwBarYI_ extends FooX_f[A] with BarYI_[B] { ; ; f; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -