Skip to content

Commit 54034c1

Browse files
committed
Definitions used by backend.
1 parent 026b86d commit 54034c1

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,8 @@ class Definitions {
156156

157157
lazy val ScalaPredefModule = ctx.requiredModule("scala.Predef")
158158
lazy val ScalaRuntimeModule = ctx.requiredModule("scala.runtime.ScalaRunTime")
159+
lazy val BoxesRunTimeModule = ctx.requiredModule("scala.runtime.BoxesRunTime")
160+
lazy val BoxesRunTimeClass = BoxesRunTimeModule.moduleClass
159161
lazy val DottyPredefModule = ctx.requiredModule("dotty.DottyPredef")
160162
lazy val NilModule = ctx.requiredModule("scala.collection.immutable.Nil")
161163

@@ -168,6 +170,10 @@ class Definitions {
168170
List(AnyClass.typeRef), EmptyScope)
169171
lazy val SeqClass: ClassSymbol = ctx.requiredClass("scala.collection.Seq")
170172
lazy val ArrayClass: ClassSymbol = ctx.requiredClass("scala.Array")
173+
lazy val Array_apply = ctx.requiredMethod(ArrayClass, nme.apply)
174+
lazy val Array_update = ctx.requiredMethod(ArrayClass, nme.update)
175+
lazy val Array_length = ctx.requiredMethod(ArrayClass, nme.length)
176+
lazy val Array_clone = ctx.requiredMethod(ArrayClass, nme.clone_)
171177
lazy val uncheckedStableClass: ClassSymbol = ctx.requiredClass("scala.annotation.unchecked.uncheckedStable")
172178

173179
lazy val UnitClass = valueClassSymbol("scala.Unit", BoxedUnitClass, java.lang.Void.TYPE, UnitEnc)
@@ -211,8 +217,20 @@ class Definitions {
211217

212218
// fundamental classes
213219
lazy val StringClass = ctx.requiredClass("java.lang.String")
220+
lazy val StringModule = StringClass.moduleClass
214221

215222
lazy val String_+ = newMethod(StringClass, nme.raw.PLUS, methOfAny(StringType), Final)
223+
lazy val String_valueOf_Object = StringModule.info.member(nme.valueOf).suchThat(_.info.firstParamTypes match {
224+
case List(pt) => pt isRef ObjectClass
225+
case _ => false
226+
}).symbol
227+
228+
// in scalac modified to have Any as parrent
229+
230+
lazy val SerializableClass = ctx.requiredClass("scala.Serializable")
231+
lazy val JavaCloneableClass = ctx.requiredClass("java.lang.Cloneable")
232+
lazy val StringBuilderClass = ctx.requiredClass("scala.collection.mutable.StringBuilder")
233+
lazy val NullPointerExceptionClass = ctx.requiredClass(jnme.NPException)
216234

217235
lazy val StringAddClass = ctx.requiredClass("scala.runtime.StringAdd")
218236

@@ -238,6 +256,11 @@ class Definitions {
238256
lazy val ClassfileAnnotationClass = ctx.requiredClass("scala.annotation.ClassfileAnnotation")
239257
lazy val StaticAnnotationClass = ctx.requiredClass("scala.annotation.StaticAnnotation")
240258
lazy val TailrecAnnotationClass = ctx.requiredClass("scala.annotation.tailrec")
259+
lazy val RemoteAnnot = ctx.requiredClass("scala.remote")
260+
lazy val SerialVersionUIDAnnot = ctx.requiredClass("scala.SerialVersionUID")
261+
lazy val TransientAnnot = ctx.requiredClass("scala.transient")
262+
lazy val NativeAnnot = ctx.requiredClass("scala.native")
263+
lazy val ScalaStrictFPAnnot = ctx.requiredClass("scala.annotation.strictfp")
241264

242265
// Annotation classes
243266
lazy val AliasAnnot = ctx.requiredClass("dotty.annotation.internal.Alias")

0 commit comments

Comments
 (0)