@@ -718,104 +718,4 @@ object TreeInfo {
718
718
val Pure = new PurityLevel (2 )
719
719
val Idempotent = new PurityLevel (1 )
720
720
val Impure = new PurityLevel (0 )
721
- }
722
-
723
- /** a Match(Typed(_, tpt), _) must be translated into a switch if isSwitchAnnotation(tpt.tpe)
724
- def isSwitchAnnotation(tpe: Type) = tpe hasAnnotation defn.SwitchClass
725
- */
726
-
727
- /** Does list of trees start with a definition of
728
- * a class of module with given name (ignoring imports)
729
- def firstDefinesClassOrObject(trees: List[Tree], name: Name): Boolean = trees match {
730
- case Import(_, _) :: xs => firstDefinesClassOrObject(xs, name)
731
- case Annotated(_, tree1) :: Nil => firstDefinesClassOrObject(List(tree1), name)
732
- case ModuleDef(_, `name`, _) :: Nil => true
733
- case ClassDef(_, `name`, _, _) :: Nil => true
734
- case _ => false
735
- }
736
-
737
-
738
- /** Is this file the body of a compilation unit which should not
739
- * have Predef imported?
740
- */
741
- def noPredefImportForUnit(body: Tree) = {
742
- // Top-level definition whose leading imports include Predef.
743
- def isLeadingPredefImport(defn: Tree): Boolean = defn match {
744
- case PackageDef(_, defs1) => defs1 exists isLeadingPredefImport
745
- case Import(expr, _) => isReferenceToPredef(expr)
746
- case _ => false
747
- }
748
- // Compilation unit is class or object 'name' in package 'scala'
749
- def isUnitInScala(tree: Tree, name: Name) = tree match {
750
- case PackageDef(Ident(nme.scala_), defs) => firstDefinesClassOrObject(defs, name)
751
- case _ => false
752
- }
753
-
754
- isUnitInScala(body, nme.Predef) || isLeadingPredefImport(body)
755
- }
756
- */
757
-
758
- /*
759
- def isAbsTypeDef(tree: Tree) = tree match {
760
- case TypeDef(_, _, _, TypeBoundsTree(_, _)) => true
761
- case TypeDef(_, _, _, rhs) => rhs.tpe.isInstanceOf[TypeBounds]
762
- case _ => false
763
- }
764
-
765
- def isAliasTypeDef(tree: Tree) = tree match {
766
- case TypeDef(_, _, _, _) => !isAbsTypeDef(tree)
767
- case _ => false
768
- }
769
-
770
- /** Some handy extractors for spotting trees through the
771
- * the haze of irrelevant braces: i.e. Block(Nil, SomeTree)
772
- * should not keep us from seeing SomeTree.
773
- */
774
- abstract class SeeThroughBlocks[T] {
775
- protected def unapplyImpl(x: Tree): T
776
- def unapply(x: Tree): T = x match {
777
- case Block(Nil, expr) => unapply(expr)
778
- case _ => unapplyImpl(x)
779
- }
780
- }
781
- object IsTrue extends SeeThroughBlocks[Boolean] {
782
- protected def unapplyImpl(x: Tree): Boolean = x match {
783
- case Literal(Constant(true)) => true
784
- case _ => false
785
- }
786
- }
787
- object IsFalse extends SeeThroughBlocks[Boolean] {
788
- protected def unapplyImpl(x: Tree): Boolean = x match {
789
- case Literal(Constant(false)) => true
790
- case _ => false
791
- }
792
- }
793
- object IsIf extends SeeThroughBlocks[Option[(Tree, Tree, Tree)]] {
794
- protected def unapplyImpl(x: Tree) = x match {
795
- case If(cond, thenp, elsep) => Some((cond, thenp, elsep))
796
- case _ => None
797
- }
798
- }
799
-
800
- object MacroImplReference {
801
- private def refPart(tree: Tree): Tree = tree match {
802
- case TypeApply(fun, _) => refPart(fun)
803
- case ref: RefTree => ref
804
- case _ => EmptyTree()
805
- }
806
-
807
- def unapply(tree: Tree) = refPart(tree) match {
808
- case ref: RefTree => Some((ref.qualifier.symbol, ref.symbol, dissectApplied(tree).targs))
809
- case _ => None
810
- }
811
- }
812
-
813
- def isNullaryInvocation(tree: Tree): Boolean =
814
- tree.symbol != null && tree.symbol.isMethod && (tree match {
815
- case TypeApply(fun, _) => isNullaryInvocation(fun)
816
- case tree: RefTree => true
817
- case _ => false
818
- })*/
819
-
820
-
821
-
721
+ }
0 commit comments