aboutsummaryrefslogblamecommitdiff
path: root/src/dotty/tools/dotc/core/Definitions.scala
blob: 9bf1e88c3a79496b44d7ad2bb9b001b4dc78ee5d (plain) (tree)
1
2
3
4
5
6
7
8
9

                             
                                     
 
                                          


                                    
                                       










                                                         
                                        
                                                  






                                                                                             
 
package dotty.tools.dotc.core

import Types._, Contexts._, Symbols._

class Definitions(implicit ctx: Context) {
  private var _isInitialized = false
  def isInitialized = _isInitialized

  lazy val RootClass: ClassSymbol = ???
  lazy val AnyClass: ClassSymbol = ???
  lazy val AnyType = AnyClass.typeConstructor
  lazy val AnyValClass: ClassSymbol = ???
  lazy val NothingClass: ClassSymbol = ???
  lazy val NothingType = NothingClass.typeConstructor
  lazy val NullClass: ClassSymbol = ???
  lazy val NullType = NullClass.typeConstructor
  lazy val ObjectClass: ClassSymbol = ???
  lazy val ObjectType = ObjectClass.typeConstructor
  lazy val SingletonClass: ClassSymbol = ???
  lazy val SingletonType = SingletonClass.typeConstructor
  lazy val ArrayClass: ClassSymbol = ???
  lazy val uncheckedStableClass: ClassSymbol = ???

  def init() =
    if (!isInitialized) {
      // force initialization of every symbol that is synthesized or hijacked by the compiler
      val forced = ???
      _isInitialized = true
    }
}