उपयोग -Xprint:typer
-Yshow-trees-compact
(कच्चे एएसटी प्रारूप में पेड़ों डंप करने के लिए) के साथ (टाइपकर्ता के बाद पेड़ डंप करने के लिए) एक साथ। यदि आप -Yshow-trees-stringified
का भी उपयोग करते हैं, तो एएसटी को अतिरिक्त रूप से छद्म स्कैला कोड के रूप में डंप किया जाएगा (नोट: अंतिम दो विकल्पों की आवश्यकता 2.10.0) है।
C:\Projects\Kepler\sandbox @ ticket/6356>cat Test.scala
class C {
def x = 2
}
C:\Projects\Kepler\sandbox @ ticket/6356>scalac -Xprint:typer -Yshow-trees-compact -Yshow-trees-stringified Test.scala
[[syntax trees at end of typer]]// Scala source: Test.scala
package <empty> {
class C extends scala.AnyRef {
def <init>(): C = {
C.super.<init>();
()
};
def x: Int = 2
}
}
PackageDef(
Ident(<empty>),
List(
ClassDef(Modifiers(), newTypeName("C"), List(),
Template(List(Select(Ident(scala), newTypeName("AnyRef"))), emptyValDef,
List(
DefDef(Modifiers(), nme.CONSTRUCTOR, List(), List(List()), TypeTree(), Block(List(Apply(Select(Super(This(newTypeName("C")), tpnme.EMPTY), nme.CONSTRUCTOR), List())), Literal(Constant(())))),
DefDef(Modifiers(), newTermName("x"), List(), List(), TypeTree(), Literal(Constant(2))))))))
स्रोत
2012-09-14 19:47:14
लेकिन मेरा मतलब है, मैं अपने चल रहे प्रोग्राम के अंदर एएसटी मिलता है? प्रोग्राम के रूप में? – Rogach
हू। समझा। मुझे सोचने दो। –
'Run.units map (_.body)' –