summaryrefslogblamecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/Platform.scala
blob: de271856b7d3b3417646619ab7a70708dae3a089 (plain) (tree)
1
2
3
4
5
6
7
8
9
                            
                                





                         
                     


                                            



                    
                                
                             




                                      
                                        





                                                                         
 
 
/* NSC -- new Scala compiler
 * Copyright 2005-2011 LAMP/EPFL
 * @author  Paul Phillips
 */

package scala.tools.nsc
package backend

import util.ClassPath

/** The platform dependent pieces of Global.
 */
trait Platform[T] {
  val global: Global
  import global._

  /** The compiler classpath. */
  def classPath: ClassPath[T]

  /** The root symbol loader. */
  def rootLoader: LazyType

  /** Any platform-specific phases. */
  def platformPhases: List[SubComponent]

  /** Symbol for a method which compares two objects. */
  def externalEquals: Symbol

  /** The various ways a boxed primitive might materialize at runtime. */
  def isMaybeBoxed(sym: Symbol): Boolean
}