⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bridges.scala

📁 JAVA 语言的函数式编程扩展
💻 SCALA
📖 第 1 页 / 共 5 页
字号:
//############################################################################// 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 + -