Skip to content

Commit 98d2583

Browse files
committed
New methods in Definitions
Also renamed Boolean_and/or to _&&/||, to make it conform to naming convention for other Definition operators.
1 parent c7f817f commit 98d2583

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

src/dotty/tools/dotc/core/Definitions.scala

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,17 @@ class Definitions {
181181

182182
lazy val ScalaPredefModule = ctx.requiredModule("scala.Predef")
183183
lazy val ScalaRuntimeModule = ctx.requiredModule("scala.runtime.ScalaRunTime")
184-
lazy val BoxesRunTimeModule = ctx.requiredModule("scala.runtime.BoxesRunTime")
185-
lazy val BoxesRunTimeClass = BoxesRunTimeModule.moduleClass
184+
lazy val ScalaRuntimeClass = ScalaRuntimeModule.moduleClass.asClass
185+
186+
def runtimeMethod(name: PreName) = ctx.requiredMethod(ScalaRuntimeClass, name)
187+
188+
lazy val BoxesRunTimeModule = ctx.requiredModule("scala.runtime.BoxesRunTime")
189+
lazy val BoxesRunTimeClass = BoxesRunTimeModule.moduleClass.asClass
190+
lazy val ScalaStaticsModule = ctx.requiredModule("scala.runtime.Statics")
191+
lazy val ScalaStaticsClass = ScalaStaticsModule.moduleClass.asClass
192+
193+
def staticsMethod(name: PreName) = ctx.requiredMethod(ScalaStaticsClass, name)
194+
186195
lazy val DottyPredefModule = ctx.requiredModule("dotty.DottyPredef")
187196
lazy val NilModule = ctx.requiredModule("scala.collection.immutable.Nil")
188197
lazy val PredefConformsClass = ctx.requiredClass("scala.Predef." + tpnme.Conforms)
@@ -204,8 +213,8 @@ class Definitions {
204213
lazy val UnitClass = valueClassSymbol("scala.Unit", BoxedUnitClass, java.lang.Void.TYPE, UnitEnc)
205214
lazy val BooleanClass = valueClassSymbol("scala.Boolean", BoxedBooleanClass, java.lang.Boolean.TYPE, BooleanEnc)
206215
lazy val Boolean_! = BooleanClass.requiredMethod(nme.UNARY_!)
207-
lazy val Boolean_and = BooleanClass.requiredMethod(nme.ZAND)
208-
lazy val Boolean_or = BooleanClass.requiredMethod(nme.ZOR)
216+
lazy val Boolean_&& = BooleanClass.requiredMethod(nme.ZAND)
217+
lazy val Boolean_|| = BooleanClass.requiredMethod(nme.ZOR)
209218

210219
lazy val ByteClass = valueClassSymbol("scala.Byte", BoxedByteClass, java.lang.Byte.TYPE, ByteEnc)
211220
lazy val ShortClass = valueClassSymbol("scala.Short", BoxedShortClass, java.lang.Short.TYPE, ShortEnc)
@@ -273,6 +282,9 @@ class Definitions {
273282
lazy val JavaSerializableClass = ctx.requiredClass("java.lang.Serializable")
274283
lazy val ComparableClass = ctx.requiredClass("java.lang.Comparable")
275284
lazy val ProductClass = ctx.requiredClass("scala.Product")
285+
286+
lazy val Product_canEqual = ProductClass.requiredMethod(nme.canEqual_)
287+
276288
lazy val LanguageModuleClass = ctx.requiredModule("dotty.language").moduleClass.asClass
277289

278290
// Annotation base classes

src/dotty/tools/dotc/transform/TailRec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ class TailRec extends MiniPhaseTransform with DenotTransformer with FullParamete
287287
val tree1 = rewriteTry(tree)
288288
propagateType(tree, tree1)
289289

290-
case Apply(fun, args) if fun.symbol == defn.Boolean_or || fun.symbol == defn.Boolean_and =>
290+
case Apply(fun, args) if fun.symbol == defn.Boolean_|| || fun.symbol == defn.Boolean_&& =>
291291
tpd.cpy.Apply(tree, fun, transform(args))
292292

293293
case Apply(fun, args) =>

0 commit comments

Comments
 (0)