File tree 2 files changed +22
-1
lines changed
src/dotty/tools/dotc/transform
2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change @@ -160,7 +160,16 @@ class FirstTransform extends MiniPhaseTransform with InfoTransformer with Annota
160
160
ast.Trees .flatten(reorderAndComplete(trees)(ctx.withPhase(thisTransformer.next)))
161
161
162
162
override def transformOther (tree : Tree )(implicit ctx : Context , info : TransformerInfo ) = tree match {
163
- case tree : Import => EmptyTree
163
+ case tree : Import =>
164
+ val exprTpe = tree.expr.tpe
165
+ tree.selectors.foreach {
166
+ case ident @ Ident (name) if name != nme.WILDCARD && ! exprTpe.member(name).exists =>
167
+ ctx.warning(s " $name is not a member of ${tree.expr.show}" , ident.pos)
168
+ case Pair (ident @ Ident (name), _) if name != nme.WILDCARD && ! exprTpe.member(name).exists =>
169
+ ctx.warning(s " $name is not a member of ${tree.expr.show}" , ident.pos)
170
+ case _ =>
171
+ }
172
+ EmptyTree
164
173
case tree : NamedArg => transform(tree.arg)
165
174
case tree => tree
166
175
}
Original file line number Diff line number Diff line change
1
+ import scala .idontexist // warn
2
+ import scala .io .Idontexist // warn
3
+
4
+ import scala .io
5
+ import io .Idontexist2 // warn
6
+
7
+ import scala .io .{ AnsiColor , Idontexist3 } // warn
8
+
9
+ import scala .io .{ Idontexist4 => Foo } // warn
10
+ import scala .io .{ Idontexist5 => _ } // warn
11
+
12
+ object Test
You can’t perform that action at this time.
0 commit comments