Skip to content

Instantly share code, notes, and snippets.

@retronym
Created February 15, 2010 18:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save retronym/304859 to your computer and use it in GitHub Desktop.
Save retronym/304859 to your computer and use it in GitHub Desktop.
//[[syntax trees at end of jvm]]// Scala source: conjunction.scala
package <empty> {
final class test extends java.lang.Object with ScalaObject {
final <synthetic> private[this] def gd1$1(x$1: Char): Boolean = scala.this.Predef.augmentString("aeiou").contains(scala.Char.box(x$1));
def this(): object test = {
test.super.this();
{
{
var temp2: java.lang.String("foo") = "foo";
{
{
var temp3: Some = test$&&.unapply(temp2);
if (true)
{
{
var temp4: Tuple2 = temp3.get().$asInstanceOf[Tuple2]();
{
var temp5: java.lang.String = temp4._1().$asInstanceOf[java.lang.String]();
{
var temp6: java.lang.String = temp4._2().$asInstanceOf[java.lang.String]();
{
{
var temp7: Option = test$StartsWith.unapply(temp5);
if (temp7.isEmpty().unary_!())
{
{
if (scala.Char.unbox(temp7.get()).==('f'))
{
{
{
{
var temp10: Option = test$EndsWith.unapply(temp6);
if (temp10.isEmpty().unary_!())
{
{
if (scala.Char.unbox(temp10.get()).==('f'))
{
{
{
if (true)
{
"f.*f"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
{
if (true)
{
{
if (scala.Int.unbox(test$Length.unapply(temp6).get()).==(3))
{
{
var temp15: Some = test$&&.unapply(temp5);
if (true)
{
{
var temp16: Tuple2 = temp15.get().$asInstanceOf[Tuple2]();
{
var temp17: java.lang.String = temp16._1().$asInstanceOf[java.lang.String]();
{
var temp18: java.lang.String = temp16._2().$asInstanceOf[java.lang.String]();
{
{
var temp19: Option = test$StartsWith.unapply(temp17);
if (temp19.isEmpty().unary_!())
{
{
if (scala.Char.unbox(temp19.get()).==(102))
{
{
var temp21: Option = test$EndsWith.unapply(temp18);
if (temp21.isEmpty().unary_!())
{
{
{
{
if (test.this.gd1$1(scala.Char.unbox(temp21.get())))
{
{
"f..[aeiou]"
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
else
{
{
if (true)
{
{
if (scala.Int.unbox(test$Length.unapply(temp6).get()).==(3))
{
{
var temp25: Some = test$&&.unapply(temp5);
if (true)
{
{
var temp26: Tuple2 = temp25.get().$asInstanceOf[Tuple2]();
{
var temp27: java.lang.String = temp26._1().$asInstanceOf[java.lang.String]();
{
var temp28: java.lang.String = temp26._2().$asInstanceOf[java.lang.String]();
{
{
var temp29: Option = test$StartsWith.unapply(temp27);
if (temp29.isEmpty().unary_!())
{
{
if (scala.Char.unbox(temp29.get()).==(102))
{
{
var temp31: Option = test$EndsWith.unapply(temp28);
if (temp31.isEmpty().unary_!())
{
{
{
{
if (test.this.gd1$1(scala.Char.unbox(temp31.get())))
{
{
"f..[aeiou]"
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
}
}
else
{
{
var temp33: Some = test$&&.unapply(temp5);
if (true)
{
{
var temp34: Tuple2 = temp33.get().$asInstanceOf[Tuple2]();
{
var temp35: java.lang.String = temp34._1().$asInstanceOf[java.lang.String]();
{
var temp36: java.lang.String = temp34._2().$asInstanceOf[java.lang.String]();
{
{
var temp37: Option = test$StartsWith.unapply(temp35);
if (temp37.isEmpty().unary_!())
{
{
if (scala.Char.unbox(temp37.get()).==(102))
{
{
var temp39: Option = test$EndsWith.unapply(temp36);
if (temp39.isEmpty().unary_!())
{
{
{
{
if (true)
{
{
if (scala.Int.unbox(test$Length.unapply(temp6).get()).==(3))
{
{
if (test.this.gd1$1(scala.Char.unbox(temp39.get())))
{
{
"f..[aeiou]"
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
else
{
{
var temp43: Some = test$&&.unapply(temp5);
if (true)
{
{
var temp44: Tuple2 = temp43.get().$asInstanceOf[Tuple2]();
{
var temp45: java.lang.String = temp44._1().$asInstanceOf[java.lang.String]();
{
var temp46: java.lang.String = temp44._2().$asInstanceOf[java.lang.String]();
{
{
var temp47: Option = test$StartsWith.unapply(temp45);
if (temp47.isEmpty().unary_!())
{
{
if (scala.Char.unbox(temp47.get()).==(102))
{
{
var temp49: Option = test$EndsWith.unapply(temp46);
if (temp49.isEmpty().unary_!())
{
{
{
{
if (true)
{
{
if (scala.Int.unbox(test$Length.unapply(temp6).get()).==(3))
{
{
if (test.this.gd1$1(scala.Char.unbox(temp49.get())))
{
{
"f..[aeiou]"
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
}
}
}
}
}
else
{
if (true)
{
"_"
}
else
throw new MatchError("foo".toString())
}
}
}
}
};
()
}
};
@serializable
final case class test$&& extends java.lang.Object with ScalaObject with Product {
def productIterator(): Iterator = scala.Product$class.productIterator(test$&&.this);
@deprecated("use productIterator instead")
def productElements(): Iterator = scala.Product$class.productElements(test$&&.this);
def unapply(a: java.lang.Object): Some = new Some(new Tuple2(a, a));
final override def toString(): java.lang.String = "&&";
override def productPrefix(): java.lang.String = "&&";
override def productArity(): Int = 0;
override def productElement(x$1: Int): java.lang.Object = {
var temp1: Int = x$1;
{
if (true)
{
throw new java.lang.IndexOutOfBoundsException(scala.Int.box(x$1).toString())
}
else
throw new MatchError(scala.Int.box(temp1).toString())
}
};
override def canEqual(x$1: java.lang.Object): Boolean = x$1.$isInstanceOf[object test$&&]();
protected def readResolve(): java.lang.Object = test$&&;
def this(): object test$&& = {
test$&&.super.this();
scala.Product$class./*Product$class*/$init$(test$&&.this);
()
}
};
final class test$StartsWith extends java.lang.Object with ScalaObject {
def unapply(s: java.lang.String): Option = scala.this.Predef.augmentString(s).headOption();
def this(): object test$StartsWith = {
test$StartsWith.super.this();
()
}
};
final class test$EndsWith extends java.lang.Object with ScalaObject {
def unapply(s: java.lang.String): Option = scala.this.Predef.augmentString(scala.this.Predef.augmentString(s).reverse().$asInstanceOf[java.lang.String]()).headOption();
def this(): object test$EndsWith = {
test$EndsWith.super.this();
()
}
};
final class test$Length extends java.lang.Object with ScalaObject {
def unapply(s: java.lang.String): Some = new Some(scala.Int.box(s.length()));
def this(): object test$Length = {
test$Length.super.this();
()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment