From 19064bad63aff0d3386bf7d5fb154b14c345c418 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Thu, 11 Nov 2010 05:21:37 +0000 Subject: Some more work on options related to showing co... Some more work on options related to showing compiler structures during compilation. The pickler knew more than was healthy about things like compiler settings, so I let the pickler worry about pickling and moved that logic somewhere closer to the surface. Some convenience oriented tweaks to command line phase parsing. The end result is as follows (some output trimmed for brevity.) // dippy.scala class Dippy { def f[T <: Dippy](x: T) = (x, x) object DingusDippy extends util.Random { } } // className@phaseString should be reliably unambiguous % scalac -Xshow-class Dippy@typer,erasure,jvm dippy.scala <<-- class Dippy after phase 'typer' -->> Members (excluding Any/AnyRef unless overridden): final object DingusDippy extends object Dippy.this.DingusDippy def f[T <: Dippy](x: T): (T, T) <<-- class Dippy after phase 'erasure' -->> Members (excluding Any/AnyRef unless overridden): private lazy var DingusDippy$module: object Dippy#DingusDippy lazy val DingusDippy(): object Dippy#DingusDippy def f(x: Dippy): Tuple2 <<-- class Dippy after phase 'jvm' -->> Members (excluding Any/AnyRef unless overridden): protected var bitmap$0: Int private lazy var DingusDippy$module: object Dippy$DingusDippy lazy val DingusDippy(): object Dippy$DingusDippy def f(x: Dippy): Tuple2 No review. --- test/files/run/global-showdef.check | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'test/files/run/global-showdef.check') diff --git a/test/files/run/global-showdef.check b/test/files/run/global-showdef.check index 8f67253ced..36d33f6fdf 100644 --- a/test/files/run/global-showdef.check +++ b/test/files/run/global-showdef.check @@ -1,14 +1,14 @@ -<<-- class foo.bar.Bippy -->> +<<-- class foo.bar.Bippy after phase 'typer' -->> def showdefTestMemberClass1: Int -<<-- type foo.bar.Bippy.BippyType -->> +<<-- type foo.bar.Bippy.BippyType after phase 'typer' -->> def showdefTestMemberType1: Unit -<<-- type foo.bar.Bippy.BippyType -->> +<<-- type foo.bar.Bippy.BippyType after phase 'typer' -->> def showdefTestMemberType2: Unit -<<-- class foo.bar.Bippy.Boppity -->> +<<-- class foo.bar.Bippy.Boppity after phase 'typer' -->> def showdefTestMemberClass2: Int -<<-- class foo.bar.Bippy.Boppity.Boo -->> +<<-- class foo.bar.Bippy.Boppity.Boo after phase 'typer' -->> def showdefTestMemberClass3: Int -<<-- object foo.bar.Bippy -->> +<<-- object foo.bar.Bippy after phase 'typer' -->> def showdefTestMemberObject2: java.lang.String -<<-- object foo.bar.Bippy.Boppity.Boo -->> +<<-- object foo.bar.Bippy.Boppity.Boo after phase 'typer' -->> def showdefTestMemberObject1: java.lang.String -- cgit v1.2.3