@@ -249,7 +249,9 @@ class Definitions {
249
249
*/
250
250
@ tu lazy val AnyClass : ClassSymbol = completeClass(enterCompleteClassSymbol(ScalaPackageClass , tpnme.Any , Abstract , Nil ), ensureCtor = false )
251
251
def AnyType : TypeRef = AnyClass .typeRef
252
- @ tu lazy val AnyValClass : ClassSymbol = completeClass(enterCompleteClassSymbol(ScalaPackageClass , tpnme.AnyVal , Abstract , List (AnyClass .typeRef)))
252
+ @ tu lazy val AnyValClass : ClassSymbol = completeClass(
253
+ enterCompleteClassSymbol(ScalaPackageClass , tpnme.AnyVal , Abstract ,
254
+ List (AnyClass .typeRef, NotNullClass .typeRef)))
253
255
def AnyValType : TypeRef = AnyValClass .typeRef
254
256
255
257
@ tu lazy val Any_== : TermSymbol = enterMethod(AnyClass , nme.EQ , methOfAny(BooleanType ), Final )
@@ -278,7 +280,8 @@ class Definitions {
278
280
@ tu lazy val ObjectClass : ClassSymbol = {
279
281
val cls = ctx.requiredClass(" java.lang.Object" )
280
282
assert(! cls.isCompleted, " race for completing java.lang.Object" )
281
- cls.info = ClassInfo (cls.owner.thisType, cls, AnyClass .typeRef :: Nil , newScope)
283
+ cls.info = ClassInfo (cls.owner.thisType, cls,
284
+ List (AnyClass .typeRef, NotNullClass .typeRef), newScope)
282
285
cls.setFlag(NoInits | JavaDefined )
283
286
284
287
// The companion object doesn't really exist, so it needs to be marked as
@@ -403,6 +406,11 @@ class Definitions {
403
406
List (AnyClass .typeRef), EmptyScope )
404
407
@ tu lazy val SingletonType : TypeRef = SingletonClass .typeRef
405
408
409
+ @ tu lazy val NotNullClass : ClassSymbol =
410
+ enterCompleteClassSymbol(
411
+ ScalaPackageClass , tpnme.NotNull , PureInterfaceCreationFlags ,
412
+ List (AnyClass .typeRef), EmptyScope )
413
+
406
414
@ tu lazy val CollectionSeqType : TypeRef = ctx.requiredClassRef(" scala.collection.Seq" )
407
415
@ tu lazy val SeqType : TypeRef = ctx.requiredClassRef(" scala.collection.immutable.Seq" )
408
416
def SeqClass (given Context ): ClassSymbol = SeqType .symbol.asClass
@@ -1290,6 +1298,7 @@ class Definitions {
1290
1298
.updated(AnyClass , ObjectClass )
1291
1299
.updated(AnyValClass , ObjectClass )
1292
1300
.updated(SingletonClass , ObjectClass )
1301
+ .updated(NotNullClass , ObjectClass )
1293
1302
.updated(TupleClass , ObjectClass )
1294
1303
.updated(NonEmptyTupleClass , ProductClass )
1295
1304
@@ -1306,6 +1315,7 @@ class Definitions {
1306
1315
ByNameParamClass2x ,
1307
1316
AnyValClass ,
1308
1317
NullClass ,
1318
+ NotNullClass ,
1309
1319
NothingClass ,
1310
1320
SingletonClass )
1311
1321
0 commit comments