aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2014-09-09 17:28:17 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-09-17 18:07:17 +0200
commitc2402d232a7531778f71fc033da4d83bf7f06212 (patch)
tree0e510acfb3e23607e1e060841e9eea459e4a4457 /src
parent80d8634fcabe709cb56fb827acd0fc640effcfdb (diff)
downloaddotty-c2402d232a7531778f71fc033da4d83bf7f06212.tar.gz
dotty-c2402d232a7531778f71fc033da4d83bf7f06212.tar.bz2
dotty-c2402d232a7531778f71fc033da4d83bf7f06212.zip
After merge fixes
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala9
-rw-r--r--src/dotty/tools/dotc/transform/ExplicitOuter.scala2
-rw-r--r--src/dotty/tools/dotc/transform/PatternMatcher.scala16
3 files changed, 9 insertions, 18 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index a47cae560..1bc60f053 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -211,7 +211,7 @@ class Definitions {
lazy val Array_update = ctx.requiredMethod(ArrayClass, nme.update)
lazy val Array_length = ctx.requiredMethod(ArrayClass, nme.length)
lazy val Array_clone = ctx.requiredMethod(ArrayClass, nme.clone_)
- lazy val traversableDropMethod = ctx.requiredMethod(ScalaRuntimeModuleClass, nme.drop)
+ lazy val traversableDropMethod = ctx.requiredMethod(ScalaRuntimeClass, nme.drop)
lazy val uncheckedStableClass: ClassSymbol = ctx.requiredClass("scala.annotation.unchecked.uncheckedStable")
lazy val UnitClass = valueClassSymbol("scala.Unit", BoxedUnitClass, java.lang.Void.TYPE, UnitEnc)
@@ -423,17 +423,11 @@ class Definitions {
lazy val TupleClasses: Set[Symbol] = TupleClass.toSet
lazy val ProductClasses: Set[Symbol] = ProductNClass.toSet
- lazy val RepeatedParamClasses: Set[Symbol] = Set(RepeatedParamClass, JavaRepeatedParamClass)
-
/** `Modules whose members are in the default namespace and their module classes */
lazy val UnqualifiedOwners = RootImports.toSet ++ RootImports.map(_.moduleClass)
lazy val PhantomClasses = Set[Symbol](AnyClass, AnyValClass, NullClass, NothingClass)
- lazy val asInstanceOfMethods = Set[Symbol](Any_asInstanceOf)
- lazy val isInstanceOfMethods = Set[Symbol](Any_isInstanceOf)
- lazy val typeTestsOrCasts = asInstanceOfMethods ++ isInstanceOfMethods
-
lazy val RootImports = List[Symbol](JavaLangPackageVal, ScalaPackageVal, ScalaPredefModule, DottyPredefModule)
lazy val overriddenBySynthetic = Set[Symbol](Any_equals, Any_hashCode, Any_toString, Product_canEqual)
@@ -595,7 +589,6 @@ class Definitions {
AnyClass,
AnyRefAlias,
RepeatedParamClass,
- JavaRepeatedParamClass,
ByNameParamClass2x,
AnyValClass,
NullClass,
diff --git a/src/dotty/tools/dotc/transform/ExplicitOuter.scala b/src/dotty/tools/dotc/transform/ExplicitOuter.scala
index a814f302f..b13ea6c8a 100644
--- a/src/dotty/tools/dotc/transform/ExplicitOuter.scala
+++ b/src/dotty/tools/dotc/transform/ExplicitOuter.scala
@@ -29,7 +29,7 @@ import collection.mutable
* - replace outer this by outer paths.
*/
class ExplicitOuter extends MiniPhaseTransform with InfoTransformer { thisTransformer =>
- imoport ExplicitOuter._
+ import ExplicitOuter._
import ast.tpd._
val Outer = new Attachment.Key[Tree]
diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala
index 8e41b4c9d..6ceb0398b 100644
--- a/src/dotty/tools/dotc/transform/PatternMatcher.scala
+++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala
@@ -36,10 +36,10 @@ class PatternMatcher extends MiniPhaseTransform {
import dotty.tools.dotc.ast.tpd._
- /** List of names of phases that should precede this phase */
- override def runsAfter: Set[String] = Set("elimrepeated")
+ override def runsAfter = Set(classOf[ElimRepeated])
+
+ override def phaseName = "patternMatcher"
- def name: String = "patternMatcher"
var _id = 0
override def transformMatch(tree: tpd.Match)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
@@ -542,7 +542,7 @@ class PatternMatcher extends MiniPhaseTransform {
val nullCheck: Tree = ref(prevBinder).select(ctx.definitions.Object_ne).appliedTo(Literal(Constant(null)))
val cond: Option[Tree] =
if (binderKnownNonNull) extraCond
- else extraCond.map(nullCheck.select(ctx.definitions.Boolean_and).appliedTo).orElse(Some(nullCheck))
+ else extraCond.map(nullCheck.select(ctx.definitions.Boolean_&&).appliedTo).orElse(Some(nullCheck))
cond match {
case Some(cond: Tree) =>
@@ -593,7 +593,7 @@ class PatternMatcher extends MiniPhaseTransform {
object treeCondStrategy extends TypeTestCondStrategy {
type Result = Tree
- def and(a: Result, b: Result): Result = a.select(ctx.definitions.Boolean_and).appliedTo(b)
+ def and(a: Result, b: Result): Result = a.select(ctx.definitions.Boolean_&&).appliedTo(b)
def tru = Literal(Constant(true))
def typeTest(testedBinder: Symbol, expectedTp: Type) = codegen._isInstanceOf(testedBinder, expectedTp)
def nonNullTest(testedBinder: Symbol) = ref(testedBinder).select(ctx.definitions.Object_ne).appliedTo(Literal(Constant(null)))
@@ -759,7 +759,7 @@ class PatternMatcher extends MiniPhaseTransform {
// - Scala's arrays are invariant (so we don't drop type tests unsoundly)
if (extractorArgTypeTest) mkDefault
else expectedTp match {
- case ThisType(sym) if sym.flags is Flags.Module => and(mkEqualsTest(ref(sym)), mkTypeTest) // must use == to support e.g. List() == Nil
+ case ThisType(tref) if tref.symbol.flags is Flags.Module => and(mkEqualsTest(ref(tref.symbol)), mkTypeTest) // must use == to support e.g. List() == Nil
case ConstantType(Constant(null)) if isAnyRef => mkEqTest(expTp(Literal(Constant(null))))
case ConstantType(const) => mkEqualsTest(expTp(Literal(const)))
case t:SingletonType => mkEqTest(singleton(expectedTp)) // SI-4577, SI-4897
@@ -1486,7 +1486,7 @@ class PatternMatcher extends MiniPhaseTransform {
else _.select(defn.Int_==).appliedTo(_)
// `if (binder != null && $checkExpectedLength [== | >=] 0) then else zero`
- (seqTree(binder).select(defn.Any_!=).appliedTo(Literal(Constant(null)))).select(defn.Boolean_and).appliedTo(compareOp(checkExpectedLength, Literal(Constant(0))))
+ (seqTree(binder).select(defn.Any_!=).appliedTo(Literal(Constant(null)))).select(defn.Boolean_&&).appliedTo(compareOp(checkExpectedLength, Literal(Constant(0))))
}
def checkedLength: Option[Int] =
@@ -1804,8 +1804,6 @@ class PatternMatcher extends MiniPhaseTransform {
*/
def unapplyMethodTypes(tree:Tree, fun: Tree, args:List[Tree], resultType:Type, isSeq: Boolean): Extractor = {
_id = _id + 1
- if(_id == 3)
- println("here")
val whole = fun.tpe.widen.paramTypess.headOption.flatMap(_.headOption).getOrElse(NoType)//firstParamType(method)
val resultOfGet = extractorMemberType(resultType, nme.get)