Skip to content

Instantly share code, notes, and snippets.

@nicolasstucki
Created July 18, 2016 09:47
Show Gist options
  • Save nicolasstucki/d76d2bfb5434f9441df4c47db5e51799 to your computer and use it in GitHub Desktop.
Save nicolasstucki/d76d2bfb5434f9441df4c47db5e51799 to your computer and use it in GitHub Desktop.
Output for #1355.
[cannot display due to scala.MatchError: 98 (of class java.lang.Integer), raw string = PackageDef(Ident(util),List(Import(Select(Ident(scala),annotation),List(Ident(tailrec))), Import(Ident(difflib),List(Ident(_))), ValDef(DiffUtil,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,dotc)),util),DiffUtil$)],Apply(Select(New(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,dotc)),util),DiffUtil$)]),<init>),List())), TypeDef(DiffUtil$,Template(DefDef(<init>,List(),List(List()),TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),Object)]),<init>),List())),ValDef(_,TypeTree[TermRef(TermRef(ThisType(TypeRef(NoPrefix,dotc)),util),DiffUtil)],EmptyTree),List(ValDef(ANSI_DEFAULT,TypeTree[ConstantType(Constant())],Literal(Constant())), ValDef(ANSI_RED,TypeTree[ConstantType(Constant())],Literal(Constant())), ValDef(ANSI_GREEN,TypeTree[ConstantType(Constant())],Literal(Constant())), ValDef(ANSI_YELLOW,TypeTree[ConstantType(Constant())],Literal(Constant())), ValDef(ANSI_MAGENTA,TypeTree[ConstantType(Constant())],Literal(Constant())), DefDef(mkColoredCodeDiff,List(),List(List(ValDef(code,TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String)],EmptyTree), ValDef(lastCode,TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String)],EmptyTree), ValDef(printDiffDel,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Boolean)],EmptyTree))),TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String)],Block(List(Import(Select(Select(Ident(scala),collection),JavaConversions),List(Ident(_))), DefDef(split,List(),List(List(ValDef(str,TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String)],EmptyTree), ValDef(acc,TypeTree[HKApply(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),package),List),List(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String)))],EmptyTree))),TypeTree[HKApply(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),package),List),List(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String)))],Block(List(),If(Apply(Select(Ident(str),$eq$eq),List(Literal(Constant()))),Block(List(),Select(Ident(acc),reverse)),Block(List(ValDef(head,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Char)],Apply(Select(Ident(str),charAt),List(Literal(Constant(0))))), ValDef($1$,TypeTree[RefinedType(RefinedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Tuple2), scala$Tuple2$$T1, TypeAlias(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String), 1)), scala$Tuple2$$T2, TypeAlias(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String), 1))],Match(Typed(If(Apply(Select(Apply(Select(Ident(Character),isAlphabetic),List(Apply(Ident(char2int),List(Ident(head))))),$bar$bar),List(Apply(Select(Ident(Character),isDigit),List(Ident(head))))),Block(List(),Apply(Select(Apply(Ident(augmentString),List(Ident(str))),span),List(Block(List(DefDef($anonfun,List(),List(List(ValDef(c,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Char)],EmptyTree))),TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Boolean)],Apply(Select(Apply(Select(Ident(Character),isAlphabetic),List(Apply(Ident(char2int),List(Ident(c))))),$bar$bar),List(Apply(Select(Ident(Character),isDigit),List(Ident(c))))))),Closure(List(),Ident($anonfun),EmptyTree))))),If(Apply(Select(Apply(Select(Ident(Character),isMirrored),List(Ident(head))),$bar$bar),List(Apply(Select(Ident(Character),isWhitespace),List(Ident(head))))),Block(List(),Apply(Select(Apply(Ident(augmentString),List(Ident(str))),splitAt),List(Literal(Constant(1))))),Block(List(),Apply(Select(Apply(Ident(augmentString),List(Ident(str))),span),List(Block(List(),Block(List(DefDef($anonfun,List(),List(List(ValDef(c,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Char)],EmptyTree))),TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Boolean)],Block(List(),Apply(Select(Apply(Select(Apply(Select(Select(Apply(Select(Ident(Character),isAlphabetic),List(Apply(Ident(char2int),List(Ident(c))))),unary_$bang),$amp$amp),List(Select(Apply(Select(Ident(Character),isDigit),List(Ident(c))),unary_$bang))),$amp$amp),List(Select(Apply(Select(Ident(Character),isMirrored),List(Ident(c))),unary_$bang))),$amp$amp),List(Select(Apply(Select(Ident(Character),isWhitespace),List(Ident(c))),unary_$bang)))))),Closure(List(),Ident($anonfun),EmptyTree)))))))),TypeTree[AnnotatedType(RefinedType(RefinedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Tuple2), scala$Tuple2$$T1, TypeAlias(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String), 1)), scala$Tuple2$$T2, TypeAlias(TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String), 1)),ConcreteAnnotation(Apply(Select(New(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),unchecked)]),<init>),List())))]),List(CaseDef(UnApply(TypeApply(Select(Ident(Tuple2),unapply),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)], TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(),List(Bind(token,Ident(_)), Bind(rest,Ident(_)))),EmptyTree,Apply(TypeApply(Select(Ident(Tuple2),apply),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)], TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Ident(token), Ident(rest))))))), ValDef(token,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)],Select(Ident($1$),_1)), ValDef(rest,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)],Select(Ident($1$),_2))),Apply(Ident(split),List(Ident(rest), Block(List(ValDef($2$,TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)],Ident(token))),Apply(TypeApply(Select(Ident(acc),$colon$colon),List(TypeTree[TypeRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Predef),String)])),List(Ident($2$)))))))))), ValDef(lines,TypeTree[RefinedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Array), scala$Array$$T, TypeAlias(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String), 0))],Apply(TypeApply(Select(Apply(Ident(split),List(Ident(code), Ident(Nil))),toArray),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Apply(TypeApply(Select(Ident(ClassTag),apply),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Literal(Constant(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)))))))), ValDef(diff,TypeTree[RefinedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),difflib),Patch), difflib$Patch$$T, TypeAlias(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String), 0))],Apply(TypeApply(Select(Ident(DiffUtils),diff),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Apply(TypeApply(Ident(seqAsJavaList),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Apply(Ident(split),List(Ident(lastCode), Ident(Nil))))), Apply(TypeApply(Ident(seqAsJavaList),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Select(Apply(TypeApply(Ident(refArrayOps),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Ident(lines))),toList)))))), Apply(TypeApply(Select(Apply(TypeApply(Ident(asScalaBuffer),List(TypeTree[RefinedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),difflib),Delta), difflib$Delta$$T, TypeAlias(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String), 0))])),List(Apply(Select(Ident(diff),getDeltas),List()))),foreach),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Unit)])),List(Block(List(DefDef($anonfun,List(),List(List(ValDef(delta,TypeTree[RefinedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),difflib),Delta), difflib$Delta$$T, TypeAlias(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String), 0))],EmptyTree))),TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,<root>)),scala),Unit)],dotty.tools.dotc.core.tasty.TreeUnpickler$LazyReader@368b51a)),Closure(List(),Ident($anonfun),EmptyTree))))),Select(Apply(TypeApply(Ident(refArrayOps),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,java)),lang),String)])),List(Ident(lines))),mkString))))))))]
<package dotty.tools.dotc.util.type {
<import <<scala:scala>.annotation:scala.annotation>.tailrec:dotty.tools.dotc.util.<import>.type>
<import <difflib:difflib>._:dotty.tools.dotc.util.<import>.type>
final lazy module val DiffUtil: dotty.tools.dotc.util.DiffUtil$ =
<<<new dotty.tools.dotc.util.DiffUtil$:dotty.tools.dotc.util.DiffUtil$>:(()dotty.tools.dotc.util.DiffUtil$)>():dotty.tools.dotc.util.DiffUtil$>
@<<<new dotty.annotation.internal.SourceFile:dotty.annotation.internal.SourceFile>:((path: scala.Predef.String)dotty.annotation.internal.SourceFile)>(
<"./src/dotty/tools/dotc/util/DiffUtil.scala":java.lang.String("./src/dotty/tools/dotc/util/DiffUtil.scala")>
):dotty.annotation.internal.SourceFile> final module class DiffUtil$() extends <<<new java.lang.Object:java.lang.Object>:(()java.lang.Object)>():
java.lang.Object
> { this: dotty.tools.dotc.util.DiffUtil.type =>
private final val ANSI_DEFAULT: java.lang.String("\033[0m") = <"\033[0m":java.lang.String("\033[0m")>
private final val ANSI_RED: java.lang.String("\033[31m") = <"\033[31m":java.lang.String("\033[31m")>
private final val ANSI_GREEN: java.lang.String("\033[32m") = <"\033[32m":java.lang.String("\033[32m")>
private final val ANSI_YELLOW: java.lang.String("\033[33m") = <"\033[33m":java.lang.String("\033[33m")>
private final val ANSI_MAGENTA: java.lang.String("\033[35m") = <"\033[35m":java.lang.String("\033[35m")>
def mkColoredCodeDiff(code: scala.Predef.String, lastCode: scala.Predef.String, printDiffDel: scala.Boolean): scala.Predef.String = <{
<import <<<scala:scala>.collection:scala.collection>.JavaConversions:scala.collection.JavaConversions$>._:<import>.type>
@<<<new scala.annotation.tailrec:scala.annotation.tailrec>:(()scala.annotation.tailrec)>():scala.annotation.tailrec> def split(str: scala.Predef.String,
acc: scala.List[scala.Predef.String]
): scala.List[scala.Predef.String] = <{
<if <<<str:scala.Predef.String>.==:((x$0: scala.Any)scala.Boolean)>(<"":java.lang.String("")>):scala.Boolean> then <{
<<acc:scala.List[scala.Predef.String]>.reverse:=> scala.collection.immutable.List[scala.Predef.String]>
}:=> scala.collection.immutable.List[scala.Predef.String](acc.reverse)> else <{
val head: scala.Char = <<<str:scala.Predef.String>.charAt:((x$0: scala.Int)scala.Char)>(<0:scala.Int(0)>):scala.Char>
val $1$: (java.lang.String, java.lang.String) =
<
<
<(if
<
<
<<<java.lang.Character:java.lang.Character$>.isAlphabetic:((x$0: scala.Int)scala.Boolean)>(
<<scala.Char.char2int:((x: scala.Char)scala.Int)>(<head:scala.Char>):scala.Int>
):scala.Boolean>
.||:((x: scala.Boolean)scala.Boolean)>
(<<<java.lang.Character:java.lang.Character$>.isDigit:((x$0: scala.Char)scala.Boolean)>(<head:scala.Char>):scala.Boolean>):scala.Boolean>
then <{
<
<
<<scala.Predef.augmentString:((x: scala.Predef.String)scala.collection.immutable.StringOps)>(<str:scala.Predef.String>):
scala.collection.immutable.StringOps
>
.span:((p: scala.Char => scala.Boolean)(scala.Predef.String, scala.Predef.String))>
(<{
def $anonfun(c: scala.Char): scala.Boolean =
<
<
<<<java.lang.Character:java.lang.Character$>.isAlphabetic:((x$0: scala.Int)scala.Boolean)>(
<<scala.Char.char2int:((x: scala.Char)scala.Int)>(<c:scala.Char>):scala.Int>
):scala.Boolean>
.||:((x: scala.Boolean)scala.Boolean)>
(<<<java.lang.Character:java.lang.Character$>.isDigit:((x$0: scala.Char)scala.Boolean)>(<c:scala.Char>):scala.Boolean>):scala.Boolean>
<closure(<$anonfun:(c: scala.Char)scala.Boolean>):scala.Char => scala.Boolean>
}:scala.Char => scala.Boolean>):(scala.Predef.String, scala.Predef.String)>
}:(scala.Predef.String, scala.Predef.String)> else
<if
<
<<<<java.lang.Character:java.lang.Character$>.isMirrored:((x$0: scala.Char)scala.Boolean)>(<head:scala.Char>):scala.Boolean>.||:
((x: scala.Boolean)scala.Boolean)
>
(<<<java.lang.Character:java.lang.Character$>.isWhitespace:((x$0: scala.Char)scala.Boolean)>(<head:scala.Char>):scala.Boolean>):
scala.Boolean
>
then <{
<
<
<<scala.Predef.augmentString:((x: scala.Predef.String)scala.collection.immutable.StringOps)>(<str:scala.Predef.String>):
scala.collection.immutable.StringOps
>
.splitAt:((n: scala.Int)(scala.Predef.String, scala.Predef.String))>
(<1:scala.Int(1)>):(scala.Predef.String, scala.Predef.String)>
}:(scala.Predef.String, scala.Predef.String)> else <{
<
<
<<scala.Predef.augmentString:((x: scala.Predef.String)scala.collection.immutable.StringOps)>(<str:scala.Predef.String>):
scala.collection.immutable.StringOps
>
.span:((p: scala.Char => scala.Boolean)(scala.Predef.String, scala.Predef.String))>
(<{
<{
def $anonfun(c: scala.Char): scala.Boolean = <{
<
<
<
<
<
<
<
<<<java.lang.Character:java.lang.Character$>.isAlphabetic:((x$0: scala.Int)scala.Boolean)>(
<<scala.Char.char2int:((x: scala.Char)scala.Int)>(<c:scala.Char>):scala.Int>
):scala.Boolean>
.unary_!:=> scala.Boolean>
.&&:((x: scala.Boolean)scala.Boolean)>
(
<<<<java.lang.Character:java.lang.Character$>.isDigit:((x$0: scala.Char)scala.Boolean)>(<c:scala.Char>):scala.Boolean>.
unary_!
:=> scala.Boolean>
):scala.Boolean>
.&&:((x: scala.Boolean)scala.Boolean)>
(
<<<<java.lang.Character:java.lang.Character$>.isMirrored:((x$0: scala.Char)scala.Boolean)>(<c:scala.Char>):scala.Boolean>.
unary_!
:=> scala.Boolean>
):scala.Boolean>
.&&:((x: scala.Boolean)scala.Boolean)>
(
<<<<java.lang.Character:java.lang.Character$>.isWhitespace:((x$0: scala.Char)scala.Boolean)>(<c:scala.Char>):scala.Boolean>.unary_!:
=>
scala.Boolean>
):scala.Boolean>
}:scala.Boolean>
<closure(<$anonfun:(c: scala.Char)scala.Boolean>):scala.Char => scala.Boolean>
}:scala.Char => scala.Boolean>
}:scala.Char => scala.Boolean>):(scala.Predef.String, scala.Predef.String)>
}:(scala.Predef.String, scala.Predef.String)>:(scala.Predef.String, scala.Predef.String)>
):(scala.Predef.String, scala.Predef.String)>
: (scala.Predef.String, scala.Predef.String) @unchecked:(scala.Predef.String, scala.Predef.String) @unchecked>
match {
<case
<
<<<scala.Tuple2:scala.Tuple2$>.unapply:([T1, T2](x$0: (T1, T2))scala.Option[(T1, T2)])>[java.lang.String, java.lang.String]:
((x$0: (java.lang.String, java.lang.String))scala.Option[(java.lang.String, java.lang.String)])
>
(token @ <_:java.lang.String>, rest @ <_:java.lang.String>):(scala.Predef.String, scala.Predef.String) @unchecked>
=>
<
<<<scala.Tuple2:scala.Tuple2$>.apply:([T1, T2](_1: T1, _2: T2)(T1, T2))>[java.lang.String, java.lang.String]:
((_1: java.lang.String, _2: java.lang.String)(java.lang.String, java.lang.String))
>
(<token:java.lang.String>, <rest:java.lang.String>):(java.lang.String, java.lang.String)>
:(java.lang.String, java.lang.String)>
}:(java.lang.String, java.lang.String)>
val token: java.lang.String = <<$1$:(java.lang.String, java.lang.String)>._1:=> java.lang.String>
val rest: java.lang.String = <<$1$:(java.lang.String, java.lang.String)>._2:=> java.lang.String>
<<split:((str: scala.Predef.String, acc: scala.List[scala.Predef.String])scala.List[scala.Predef.String])>(<rest:java.lang.String>, <{
val $2$: java.lang.String = <token:java.lang.String>
<
<<<acc:scala.List[scala.Predef.String]>.:::([B >: scala.Predef.String](x: B)scala.collection.immutable.List[B])>[scala.Predef.String]:
((x: scala.Predef.String)scala.collection.immutable.List[scala.Predef.String])
>
(<$2$:java.lang.String>):scala.collection.immutable.List[scala.Predef.String]>
}:scala.collection.immutable.List[scala.Predef.String]>):scala.List[scala.Predef.String]>
}:scala.List[scala.Predef.String]>:scala.List[scala.Predef.String]>
}:scala.List[scala.Predef.String]>
val lines: scala.Array[java.lang.String] =
<
<
<
<<split:((str: scala.Predef.String, acc: scala.List[scala.Predef.String])scala.List[scala.Predef.String])>(<code:scala.Predef.String>,
<scala.Nil:=> scala.collection.immutable.Nil.type>
):scala.List[scala.Predef.String]>
.toArray:([B >: scala.Predef.String](implicit evidence$1: scala.reflect.ClassTag[B])scala.Array[B])>
[java.lang.String]:((implicit evidence$1: scala.reflect.ClassTag[java.lang.String])scala.Array[java.lang.String])>
(
<
<<<scala.reflect.ClassTag:scala.reflect.ClassTag$>.apply:([T](runtimeClass1: java.lang.Class[_])scala.reflect.ClassTag[T])>[java.lang.String]:
((runtimeClass1: java.lang.Class[_])scala.reflect.ClassTag[java.lang.String])
>
(<classOf[class String]:java.lang.Class[java.lang.String](classOf[class String])>):scala.reflect.ClassTag[java.lang.String]>
):scala.Array[java.lang.String]>
val diff: difflib.Patch[java.lang.String] =
<
<<<difflib.DiffUtils:difflib.DiffUtils$>.diff:([T](x$0: java.util.List[T], x$1: java.util.List[T])difflib.Patch[T])>[java.lang.String]:
((x$0: java.util.List[java.lang.String], x$1: java.util.List[java.lang.String])difflib.Patch[java.lang.String])
>
(
<
<<scala.collection.JavaConversions.seqAsJavaList:([A](seq: scala.collection.Seq[A])java.util.List[A])>[java.lang.String]:
((seq: scala.collection.Seq[java.lang.String])java.util.List[java.lang.String])
>
(
<<split:((str: scala.Predef.String, acc: scala.List[scala.Predef.String])scala.List[scala.Predef.String])>(<lastCode:scala.Predef.String>,
<scala.Nil:=> scala.collection.immutable.Nil.type>
):scala.List[scala.Predef.String]>
):java.util.List[java.lang.String]>
,
<
<<scala.collection.JavaConversions.seqAsJavaList:([A](seq: scala.collection.Seq[A])java.util.List[A])>[java.lang.String]:
((seq: scala.collection.Seq[java.lang.String])java.util.List[java.lang.String])
>
(
<
<
<<scala.Predef.refArrayOps:([T <: scala.AnyRef](xs: scala.Array[T])scala.collection.mutable.ArrayOps[T])>[java.lang.String]:
((xs: scala.Array[java.lang.String])scala.collection.mutable.ArrayOps[java.lang.String])
>
(<lines:scala.Array[java.lang.String]>):scala.collection.mutable.ArrayOps[java.lang.String]>
.toList:=> scala.List[java.lang.String]>
):java.util.List[java.lang.String]>
):difflib.Patch[java.lang.String]>
<
<
<
<
<<scala.collection.JavaConversions.asScalaBuffer:([A](l: java.util.List[A])scala.collection.mutable.Buffer[A])>[difflib.Delta[java.lang.String]]:
((l: java.util.List[difflib.Delta[java.lang.String]])scala.collection.mutable.Buffer[difflib.Delta[java.lang.String]])
>
(
<<<diff:difflib.Patch[java.lang.String]>.getDeltas:(()java.util.List[difflib.Delta[java.lang.String]])>():
java.util.List[difflib.Delta[java.lang.String]]
>
):scala.collection.mutable.Buffer[difflib.Delta[java.lang.String]]>
.foreach:([U](f: difflib.Delta[java.lang.String] => U)scala.Unit)>
[scala.Unit]:((f: difflib.Delta[java.lang.String] => scala.Unit)scala.Unit)>
(<{
def $anonfun(delta: difflib.Delta[java.lang.String]): scala.Unit = <{
val pos: scala.Int =
<
<<<<delta:difflib.Delta[java.lang.String]>.getRevised:(()difflib.Chunk[java.lang.String])>():difflib.Chunk[java.lang.String]>.getPosition:
(()scala.Int)
>
():scala.Int>
val endPos: scala.Int =
<
<
<<<pos:scala.Int>.+:((x: scala.Int)scala.Int)>(
<
<
<
<<<<delta:difflib.Delta[java.lang.String]>.getRevised:(()difflib.Chunk[java.lang.String])>():difflib.Chunk[java.lang.String]>.getLines:
(()java.util.List[java.lang.String])
>
():java.util.List[java.lang.String]>
.size:(()scala.Int)>
():scala.Int>
):scala.Int>
.-:((x: scala.Int)scala.Int)>
(<1:scala.Int(1)>):scala.Int>
<<<<delta:difflib.Delta[java.lang.String]>.getType:(()difflib.Delta.TYPE)>():difflib.Delta.TYPE> match {
<case <INSERT:difflib.Delta.TYPE(INSERT)> =>
<<<lines:scala.Array[java.lang.String]>.update:((i: scala.Int, x: java.lang.String)scala.Unit)>(<pos:scala.Int>,
<<<"\033[32m":java.lang.String("\033[32m")>.+:((x$0: scala.Any)java.lang.String)>(
<<<lines:scala.Array[java.lang.String]>.apply:((i: scala.Int)java.lang.String)>(<pos:scala.Int>):java.lang.String>
):java.lang.String>
):scala.Unit>
<<<lines:scala.Array[java.lang.String]>.update:((i: scala.Int, x: java.lang.String)scala.Unit)>(<endPos:scala.Int>,
<
<<<<lines:scala.Array[java.lang.String]>.apply:((i: scala.Int)java.lang.String)>(<endPos:scala.Int>):java.lang.String>.+:
((x$0: scala.Any)java.lang.String)
>
(<"\033[0m":java.lang.String("\033[0m")>):java.lang.String>
):scala.Unit>
:scala.Unit>
<case <CHANGE:difflib.Delta.TYPE(CHANGE)> =>
val old: java.lang.String =
<if <<printDiffDel:scala.Boolean>.unary_!:=> scala.Boolean> then <"":java.lang.String("")> else
<
<
<<<"\033[35m":java.lang.String("\033[35m")>.+:((x$0: scala.Any)java.lang.String)>(
<
<
<<scala.collection.JavaConversions.asScalaBuffer:([A](l: java.util.List[A])scala.collection.mutable.Buffer[A])>[java.lang.String]:
((l: java.util.List[java.lang.String])scala.collection.mutable.Buffer[java.lang.String])
>
(
<
<<<<delta:difflib.Delta[java.lang.String]>.getOriginal:(()difflib.Chunk[java.lang.String])>():difflib.Chunk[java.lang.String]>.
getLines
:(()java.util.List[java.lang.String])>
():java.util.List[java.lang.String]>
):scala.collection.mutable.Buffer[java.lang.String]>
.mkString:=> scala.Predef.String>
):java.lang.String>
.+:((x$0: scala.Any)java.lang.String)>
(<"\033[0m":java.lang.String("\033[0m")>):java.lang.String>
:java.lang.String>
<<<lines:scala.Array[java.lang.String]>.update:((i: scala.Int, x: java.lang.String)scala.Unit)>(<pos:scala.Int>,
<
<<<<old:java.lang.String>.+:((x$0: scala.Any)java.lang.String)>(<"\033[33m":java.lang.String("\033[33m")>):java.lang.String>.+:
((x$0: scala.Any)java.lang.String)
>
(<<<lines:scala.Array[java.lang.String]>.apply:((i: scala.Int)java.lang.String)>(<pos:scala.Int>):java.lang.String>):java.lang.String>
):scala.Unit>
<<<lines:scala.Array[java.lang.String]>.update:((i: scala.Int, x: java.lang.String)scala.Unit)>(<endPos:scala.Int>,
<
<<<<lines:scala.Array[java.lang.String]>.apply:((i: scala.Int)java.lang.String)>(<endPos:scala.Int>):java.lang.String>.+:
((x$0: scala.Any)java.lang.String)
>
(<"\033[0m":java.lang.String("\033[0m")>):java.lang.String>
):scala.Unit>
:scala.Unit>
<case <DELETE:difflib.Delta.TYPE(DELETE)> if <printDiffDel:scala.Boolean> =>
val deleted: scala.Predef.String =
<
<
<<scala.collection.JavaConversions.asScalaBuffer:([A](l: java.util.List[A])scala.collection.mutable.Buffer[A])>[java.lang.String]:
((l: java.util.List[java.lang.String])scala.collection.mutable.Buffer[java.lang.String])
>
(
<
<<<<delta:difflib.Delta[java.lang.String]>.getOriginal:(()difflib.Chunk[java.lang.String])>():difflib.Chunk[java.lang.String]>.getLines:
(()java.util.List[java.lang.String])
>
():java.util.List[java.lang.String]>
):scala.collection.mutable.Buffer[java.lang.String]>
.mkString:=> scala.Predef.String>
<if
<
<
<
<<scala.Predef.augmentString:((x: scala.Predef.String)scala.collection.immutable.StringOps)>(<deleted:scala.Predef.String>):
scala.collection.immutable.StringOps
>
.forall:((p: scala.Char => scala.Boolean)scala.Boolean)>
(<{
def $anonfun(x$0: scala.Char): scala.Boolean =
<<<java.lang.Character:java.lang.Character$>.isWhitespace:((x$0: scala.Char)scala.Boolean)>(<x$0:scala.Char>):scala.Boolean>
<closure(<$anonfun:(x$0: scala.Char)scala.Boolean>):scala.Char => scala.Boolean>
}:scala.Char => scala.Boolean>):scala.Boolean>
.unary_!:=> scala.Boolean>
then <{
<<<lines:scala.Array[java.lang.String]>.update:((i: scala.Int, x: java.lang.String)scala.Unit)>(<pos:scala.Int>,
<
<
<
<<<<"\033[31m":java.lang.String("\033[31m")>.+:((x$0: scala.Any)java.lang.String)>(<deleted:scala.Predef.String>):java.lang.String>.+:
((x$0: scala.Any)java.lang.String)
>
(<"\033[0m":java.lang.String("\033[0m")>):java.lang.String>
.+:((x$0: scala.Any)java.lang.String)>
(<<<lines:scala.Array[java.lang.String]>.apply:((i: scala.Int)java.lang.String)>(<pos:scala.Int>):java.lang.String>):java.lang.String>
):scala.Unit>
}:scala.Unit> else <():scala.Unit>:scala.Unit>
:scala.Unit>
<case <_:difflib.Delta.TYPE> =>
<():scala.Unit>
:scala.Unit>
}:scala.Unit>
}:scala.Unit>
<closure(<$anonfun:(delta: difflib.Delta[java.lang.String])scala.Unit>):difflib.Delta[java.lang.String] => scala.Unit>
}:difflib.Delta[java.lang.String] => scala.Unit>):scala.Unit>
<
<
<<scala.Predef.refArrayOps:([T <: scala.AnyRef](xs: scala.Array[T])scala.collection.mutable.ArrayOps[T])>[java.lang.String]:
((xs: scala.Array[java.lang.String])scala.collection.mutable.ArrayOps[java.lang.String])
>
(<lines:scala.Array[java.lang.String]>):scala.collection.mutable.ArrayOps[java.lang.String]>
.mkString:=> scala.Predef.String>
}:=> scala.Predef.String(scala.collection.mutable.ArrayOps[java.lang.String]#mkString)>
}
}:dotty.tools.dotc.util.type>%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment