aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/StdNames.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/core/StdNames.scala')
-rw-r--r--src/dotty/tools/dotc/core/StdNames.scala844
1 files changed, 0 insertions, 844 deletions
diff --git a/src/dotty/tools/dotc/core/StdNames.scala b/src/dotty/tools/dotc/core/StdNames.scala
deleted file mode 100644
index c2a14b36f..000000000
--- a/src/dotty/tools/dotc/core/StdNames.scala
+++ /dev/null
@@ -1,844 +0,0 @@
-package dotty.tools.dotc
-package core
-
-import scala.language.implicitConversions
-import scala.collection.{mutable, immutable}
-import scala.annotation.switch
-import Names._
-import Symbols._
-import Contexts._
-import Decorators.StringDecorator
-import util.NameTransformer
-import scala.collection.breakOut
-
-object StdNames {
-
-/** Base strings from which synthetic names are derived. */
-
- abstract class DefinedNames[N <: Name] {
- protected implicit def fromString(s: String): N
- protected def fromName(name: Name): N = fromString(name.toString)
-
- private val kws = mutable.Set[N]()
- protected def kw(name: N) = { kws += name; name }
-
- final val keywords: collection.Set[N] = kws
- }
-
- abstract class ScalaNames[N <: Name] extends DefinedNames[N] {
- protected def encode(s: String): N = fromName(fromString(s).encode)
-
-// Keywords, need to come first -----------------------
-
- final val ABSTRACTkw: N = kw("abstract")
- final val CASEkw: N = kw("case")
- final val CLASSkw: N = kw("class")
- final val CATCHkw: N = kw("catch")
- final val DEFkw: N = kw("def")
- final val DOkw: N = kw("do")
- final val ELSEkw: N = kw("else")
- final val EXTENDSkw: N = kw("extends")
- final val FALSEkw: N = kw("false")
- final val FINALkw: N = kw("final")
- final val FINALLYkw: N = kw("finally")
- final val FORkw: N = kw("for")
- final val FORSOMEkw: N = kw("forSome")
- final val IFkw: N = kw("if")
- final val IMPLICITkw: N = kw("implicit")
- final val IMPORTkw: N = kw("import")
- final val INLINEkw: N = kw("inline")
- final val LAZYkw: N = kw("lazy")
- final val MACROkw: N = kw("macro")
- final val MATCHkw: N = kw("match")
- final val NEWkw: N = kw("new")
- final val NULLkw: N = kw("null")
- final val OBJECTkw: N = kw("object")
- final val OVERRIDEkw: N = kw("override")
- final val PACKAGEkw: N = kw("package")
- final val PRIVATEkw: N = kw("private")
- final val PROTECTEDkw: N = kw("protected")
- final val RETURNkw: N = kw("return")
- final val SEALEDkw: N = kw("sealed")
- final val SUPERkw: N = kw("super")
- final val THENkw: N = kw("then")
- final val THISkw: N = kw("this")
- final val THROWkw: N = kw("throw")
- final val TRAITkw: N = kw("trait")
- final val TRUEkw: N = kw("true")
- final val TRYkw: N = kw("try")
- final val TYPEkw: N = kw("type")
- final val VALkw: N = kw("val")
- final val VARkw: N = kw("var")
- final val WITHkw: N = kw("with")
- final val WHILEkw: N = kw("while")
- final val YIELDkw: N = kw("yield")
- final val DOTkw: N = kw(".")
- final val USCOREkw: N = kw("_")
- final val COLONkw: N = kw(":")
- final val EQUALSkw: N = kw("=")
- final val ARROWkw: N = kw("=>")
- final val LARROWkw: N = kw("<-")
- final val SUBTYPEkw: N = kw("<:")
- final val VIEWBOUNDkw: N = kw("<%")
- final val SUPERTYPEkw: N = kw(">:")
- final val HASHkw: N = kw("#")
- final val ATkw: N = kw("@")
-
- val ANON_CLASS: N = "$anon"
- val ANON_FUN: N = "$anonfun"
- val BITMAP_PREFIX: N = "bitmap$"
- val BITMAP_NORMAL: N = BITMAP_PREFIX // initialization bitmap for public/protected lazy vals
- val BITMAP_TRANSIENT: N = BITMAP_PREFIX + "trans$" // initialization bitmap for transient lazy vals
- val BITMAP_CHECKINIT: N = BITMAP_PREFIX + "init$" // initialization bitmap for checkinit values
- val BITMAP_CHECKINIT_TRANSIENT: N = BITMAP_PREFIX + "inittrans$" // initialization bitmap for transient checkinit values
- val DEFAULT_GETTER: N = "$default$"
- val DEFAULT_GETTER_INIT: N = NameTransformer.encode("<init>")
- val DO_WHILE_PREFIX: N = "doWhile$"
- val EMPTY: N = ""
- val EMPTY_PACKAGE: N = Names.EMPTY_PACKAGE.toString
- val EVIDENCE_PARAM_PREFIX: N = "evidence$"
- val EXCEPTION_RESULT_PREFIX: N = "exceptionResult"
- val EXPAND_SEPARATOR: N = "$$"
- val IMPL_CLASS_SUFFIX: N = "$class"
- val IMPORT: N = "<import>"
- val INLINE_ACCESSOR_PREFIX = "$inlineAccessor$"
- val INTERPRETER_IMPORT_WRAPPER: N = "$iw"
- val INTERPRETER_LINE_PREFIX: N = "line"
- val INTERPRETER_VAR_PREFIX: N = "res"
- val INTERPRETER_WRAPPER_SUFFIX: N = "$object"
- val LOCALDUMMY_PREFIX: N = "<local " // owner of local blocks
- val MODULE_SUFFIX: N = NameTransformer.MODULE_SUFFIX_STRING
- val AVOID_CLASH_SUFFIX: N = "$_avoid_name_clash_$"
- val MODULE_VAR_SUFFIX: N = "$module"
- val NAME_JOIN: N = NameTransformer.NAME_JOIN_STRING
- val USCORE_PARAM_PREFIX: N = "_$"
- val OPS_PACKAGE: N = "<special-ops>"
- val OVERLOADED: N = "<overloaded>"
- val PACKAGE: N = "package"
- val PACKAGE_CLS: N = "package$"
- val PROTECTED_PREFIX: N = "protected$"
- val PROTECTED_SET_PREFIX: N = PROTECTED_PREFIX + "set"
- val ROOT: N = "<root>"
- val SHADOWED: N = "(shadowed)" // tag to be used until we have proper name kinds
- val SINGLETON_SUFFIX: N = ".type"
- val SPECIALIZED_SUFFIX: N = "$sp"
- val SUPER_PREFIX: N = "super$"
- val WHILE_PREFIX: N = "while$"
- val DEFAULT_EXCEPTION_NAME: N = "ex$"
- val INITIALIZER_PREFIX: N = "initial$"
- val COMPANION_MODULE_METHOD: N = "companion$module"
- val COMPANION_CLASS_METHOD: N = "companion$class"
- val TRAIT_SETTER_SEPARATOR: N = "$_setter_$"
-
- // value types (and AnyRef) are all used as terms as well
- // as (at least) arguments to the @specialize annotation.
- final val Boolean: N = "Boolean"
- final val Byte: N = "Byte"
- final val Char: N = "Char"
- final val Double: N = "Double"
- final val Float: N = "Float"
- final val Int: N = "Int"
- final val Long: N = "Long"
- final val Short: N = "Short"
- final val Unit: N = "Unit"
-
- final val ScalaValueNames: scala.List[N] =
- scala.List(Byte, Char, Short, Int, Long, Float, Double, Boolean, Unit)
-
- // some types whose companions we utilize
- final val AnyRef: N = "AnyRef"
- final val Array: N = "Array"
- final val List: N = "List"
- final val Seq: N = "Seq"
- final val Symbol: N = "Symbol"
- final val ClassTag: N = "ClassTag"
- final val classTag: N = "classTag"
- final val WeakTypeTag: N = "WeakTypeTag"
- final val TypeTag : N = "TypeTag"
- final val typeTag: N = "typeTag"
- final val Expr: N = "Expr"
- final val String: N = "String"
- final val Annotation: N = "Annotation"
-
- // fictions we use as both types and terms
- final val ERROR: N = "<error>"
- final val ERRORenc: N = encode("<error>")
- final val NO_NAME: N = "<none>" // formerly NOSYMBOL
- final val WILDCARD: N = "_"
-
-// ----- Type names -----------------------------------------
-
- final val BYNAME_PARAM_CLASS: N = "<byname>"
- final val EQUALS_PATTERN: N = "<equals>"
- final val LOCAL_CHILD: N = "<local child>"
- final val REPEATED_PARAM_CLASS: N = "<repeated>"
- final val WILDCARD_STAR: N = "_*"
- final val REIFY_TREECREATOR_PREFIX: N = "$treecreator"
- final val REIFY_TYPECREATOR_PREFIX: N = "$typecreator"
-
- final val AbstractFunction: N = "AbstractFunction"
- final val Any: N = "Any"
- final val AnyVal: N = "AnyVal"
- final val ExprApi: N = "ExprApi"
- final val Function: N = "Function"
- final val Mirror: N = "Mirror"
- final val Nothing: N = "Nothing"
- final val Null: N = "Null"
- final val Object: N = "Object"
- final val PartialFunction: N = "PartialFunction"
- final val PrefixType: N = "PrefixType"
- final val Product: N = "Product"
- final val Serializable: N = "Serializable"
- final val Singleton: N = "Singleton"
- final val Throwable: N = "Throwable"
- final val Tuple: N = "Tuple"
-
- final val ClassfileAnnotation: N = "ClassfileAnnotation"
- final val ClassManifest: N = "ClassManifest"
- final val Enum: N = "Enum"
- final val Group: N = "Group"
- final val Tree: N = "Tree"
- final val Type : N = "Type"
- final val TypeTree: N = "TypeTree"
-
- // Annotation simple names, used in Namer
- final val BeanPropertyAnnot: N = "BeanProperty"
- final val BooleanBeanPropertyAnnot: N = "BooleanBeanProperty"
- final val bridgeAnnot: N = "bridge"
-
- // Classfile Attributes
- final val AnnotationDefaultATTR: N = "AnnotationDefault"
- final val BridgeATTR: N = "Bridge"
- final val ClassfileAnnotationATTR: N = "RuntimeInvisibleAnnotations" // RetentionPolicy.CLASS. Currently not used (Apr 2009).
- final val CodeATTR: N = "Code"
- final val ConstantValueATTR: N = "ConstantValue"
- final val DeprecatedATTR: N = "Deprecated"
- final val ExceptionsATTR: N = "Exceptions"
- final val InnerClassesATTR: N = "InnerClasses"
- final val LineNumberTableATTR: N = "LineNumberTable"
- final val LocalVariableTableATTR: N = "LocalVariableTable"
- final val RuntimeAnnotationATTR: N = "RuntimeVisibleAnnotations" // RetentionPolicy.RUNTIME
- final val RuntimeParamAnnotationATTR: N = "RuntimeVisibleParameterAnnotations" // RetentionPolicy.RUNTIME (annotations on parameters)
- final val ScalaATTR: N = "Scala"
- final val ScalaSignatureATTR: N = "ScalaSig"
- final val TASTYATTR: N = "TASTY"
- final val SignatureATTR: N = "Signature"
- final val SourceFileATTR: N = "SourceFile"
- final val SyntheticATTR: N = "Synthetic"
-
-// ----- Term names -----------------------------------------
-
- // Compiler-internal
- val ANYname: N = "<anyname>"
- val CONSTRUCTOR: N = Names.CONSTRUCTOR.toString
- val DEFAULT_CASE: N = "defaultCase$"
- val EVT2U: N = "evt2u$"
- val EQEQ_LOCAL_VAR: N = "eqEqTemp$"
- val FAKE_LOCAL_THIS: N = "this$"
- val LAZY_LOCAL: N = "$lzy"
- val LAZY_LOCAL_INIT: N = "$lzyINIT"
- val LAZY_FIELD_OFFSET: N = "OFFSET$"
- val LAZY_SLOW_SUFFIX: N = "$lzycompute"
- val LOCAL_SUFFIX: N = "$$local"
- val UNIVERSE_BUILD_PREFIX: N = "$u.build."
- val UNIVERSE_BUILD: N = "$u.build"
- val UNIVERSE_PREFIX: N = "$u."
- val UNIVERSE_SHORT: N = "$u"
- val MIRROR_PREFIX: N = "$m."
- val MIRROR_SHORT: N = "$m"
- val MIRROR_UNTYPED: N = "$m$untyped"
- val REIFY_FREE_PREFIX: N = "free$"
- val REIFY_FREE_THIS_SUFFIX: N = "$this"
- val REIFY_FREE_VALUE_SUFFIX: N = "$value"
- val REIFY_SYMDEF_PREFIX: N = "symdef$"
- val MODULE_INSTANCE_FIELD: N = NameTransformer.MODULE_INSTANCE_NAME // "MODULE$"
- val OUTER: N = "$outer"
- val OUTER_LOCAL: N = "$outer "
- val OUTER_SELECT: N = "_<outer>" // emitted by inliner, replaced by outer path in explicitouter
- val REFINE_CLASS: N = "<refinement>"
- val ROOTPKG: N = "_root_"
- val SELECTOR_DUMMY: N = "<unapply-selector>"
- val SELF: N = "$this"
- val SETTER_SUFFIX: N = encode("_=")
- val SKOLEM: N = "<skolem>"
- val SPECIALIZED_INSTANCE: N = "specInstance$"
- val THIS: N = "_$this"
- val TRAIT_CONSTRUCTOR: N = "$init$"
- val U2EVT: N = "u2evt$"
-
- final val Nil: N = "Nil"
- final val Predef: N = "Predef"
- final val ScalaRunTime: N = "ScalaRunTime"
- final val Some: N = "Some"
-
- val x_0 : N = "x$0"
- val x_1 : N = "x$1"
- val x_2 : N = "x$2"
- val x_3 : N = "x$3"
- val x_4 : N = "x$4"
- val x_5 : N = "x$5"
- val x_6 : N = "x$6"
- val x_7 : N = "x$7"
- val x_8 : N = "x$8"
- val x_9 : N = "x$9"
- val _1 : N = "_1"
- val _2 : N = "_2"
- val _3 : N = "_3"
- val _4 : N = "_4"
- val _5 : N = "_5"
- val _6 : N = "_6"
- val _7 : N = "_7"
- val _8 : N = "_8"
- val _9 : N = "_9"
- val _10 : N = "_10"
- val _11 : N = "_11"
- val _12 : N = "_12"
- val _13 : N = "_13"
- val _14 : N = "_14"
- val _15 : N = "_15"
- val _16 : N = "_16"
- val _17 : N = "_17"
- val _18 : N = "_18"
- val _19 : N = "_19"
- val _20 : N = "_20"
- val _21 : N = "_21"
- val _22 : N = "_22"
-
- val ??? = encode("???")
-
- val genericWrapArray: N = "genericWrapArray"
- def wrapRefArray: N = "wrapRefArray"
- def wrapXArray(clsName: Name): N = "wrap" + clsName + "Array"
-
- // Compiler utilized names
-
- val AnnotatedType: N = "AnnotatedType"
- val AppliedTypeTree: N = "AppliedTypeTree"
- val ArrayAnnotArg: N = "ArrayAnnotArg"
- val Constant: N = "Constant"
- val ConstantType: N = "ConstantType"
- val ExistentialTypeTree: N = "ExistentialTypeTree"
- val Flag : N = "Flag"
- val Ident: N = "Ident"
- val Import: N = "Import"
- val Literal: N = "Literal"
- val LiteralAnnotArg: N = "LiteralAnnotArg"
- val Modifiers: N = "Modifiers"
- val NestedAnnotArg: N = "NestedAnnotArg"
- val NoFlags: N = "NoFlags"
- val NoPrefix: N = "NoPrefix"
- val NoSymbol: N = "NoSymbol"
- val NoType: N = "NoType"
- val Pair: N = "Pair"
- val Ref: N = "Ref"
- val RootPackage: N = "RootPackage"
- val RootClass: N = "RootClass"
- val Scala2: N = "Scala2"
- val Select: N = "Select"
- val StringContext: N = "StringContext"
- val This: N = "This"
- val ThisType: N = "ThisType"
- val Tuple2: N = "Tuple2"
- val TYPE_ : N = "TYPE"
- val TypeApply: N = "TypeApply"
- val TypeRef: N = "TypeRef"
- val UNIT : N = "UNIT"
- val add_ : N = "add"
- val annotation: N = "annotation"
- val anyValClass: N = "anyValClass"
- val append: N = "append"
- val apply: N = "apply"
- val applyDynamic: N = "applyDynamic"
- val applyDynamicNamed: N = "applyDynamicNamed"
- val applyOrElse: N = "applyOrElse"
- val args : N = "args"
- val argv : N = "argv"
- val arrayClass: N = "arrayClass"
- val arrayElementClass: N = "arrayElementClass"
- val arrayValue: N = "arrayValue"
- val array_apply : N = "array_apply"
- val array_clone : N = "array_clone"
- val array_length : N = "array_length"
- val array_update : N = "array_update"
- val arraycopy: N = "arraycopy"
- val asTerm: N = "asTerm"
- val asModule: N = "asModule"
- val asMethod: N = "asMethod"
- val asType: N = "asType"
- val asClass: N = "asClass"
- val asInstanceOf_ : N = "asInstanceOf"
- val assert_ : N = "assert"
- val assume_ : N = "assume"
- val box: N = "box"
- val build : N = "build"
- val bytes: N = "bytes"
- val canEqual_ : N = "canEqual"
- val checkInitialized: N = "checkInitialized"
- val ClassManifestFactory: N = "ClassManifestFactory"
- val classOf: N = "classOf"
- val clone_ : N = "clone"
- // val conforms : N = "conforms" // Dotty deviation: no special treatment of conforms, so the occurrence of the name here would cause to unintended implicit shadowing. Should find a less common name for it in Predef.
- val copy: N = "copy"
- val currentMirror: N = "currentMirror"
- val create: N = "create"
- val definitions: N = "definitions"
- val delayedInit: N = "delayedInit"
- val delayedInitArg: N = "delayedInit$body"
- val drop: N = "drop"
- val dynamics: N = "dynamics"
- val dummyApply: N = "<dummy-apply>"
- val elem: N = "elem"
- val emptyValDef: N = "emptyValDef"
- val ensureAccessible : N = "ensureAccessible"
- val eq: N = "eq"
- val equalsNumChar : N = "equalsNumChar"
- val equalsNumNum : N = "equalsNumNum"
- val equalsNumObject : N = "equalsNumObject"
- val equals_ : N = "equals"
- val error: N = "error"
- val eval: N = "eval"
- val eqAny: N = "eqAny"
- val ex: N = "ex"
- val experimental: N = "experimental"
- val f: N = "f"
- val false_ : N = "false"
- val filter: N = "filter"
- val finalize_ : N = "finalize"
- val find_ : N = "find"
- val flagsFromBits : N = "flagsFromBits"
- val flatMap: N = "flatMap"
- val foreach: N = "foreach"
- val genericArrayOps: N = "genericArrayOps"
- val get: N = "get"
- val getClass_ : N = "getClass"
- val getOrElse: N = "getOrElse"
- val hasNext: N = "hasNext"
- val hashCode_ : N = "hashCode"
- val hash_ : N = "hash"
- val head: N = "head"
- val higherKinds: N = "higherKinds"
- val identity: N = "identity"
- val implicitly: N = "implicitly"
- val in: N = "in"
- val info: N = "info"
- val inlinedEquals: N = "inlinedEquals"
- val isArray: N = "isArray"
- val isDefined: N = "isDefined"
- val isDefinedAt: N = "isDefinedAt"
- val isDefinedAtImpl: N = "$isDefinedAt"
- val isEmpty: N = "isEmpty"
- val isInstanceOf_ : N = "isInstanceOf"
- val java: N = "java"
- val key: N = "key"
- val lang: N = "lang"
- val length: N = "length"
- val lengthCompare: N = "lengthCompare"
- val liftedTree: N = "liftedTree"
- val `macro` : N = "macro"
- val macroThis : N = "_this"
- val macroContext : N = "c"
- val main: N = "main"
- val manifest: N = "manifest"
- val ManifestFactory: N = "ManifestFactory"
- val manifestToTypeTag: N = "manifestToTypeTag"
- val map: N = "map"
- val materializeClassTag: N = "materializeClassTag"
- val materializeWeakTypeTag: N = "materializeWeakTypeTag"
- val materializeTypeTag: N = "materializeTypeTag"
- val mirror : N = "mirror"
- val moduleClass : N = "moduleClass"
- val name: N = "name"
- val ne: N = "ne"
- val newFreeTerm: N = "newFreeTerm"
- val newFreeType: N = "newFreeType"
- val newNestedSymbol: N = "newNestedSymbol"
- val newScopeWith: N = "newScopeWith"
- val next: N = "next"
- val nmeNewTermName: N = "newTermName"
- val nmeNewTypeName: N = "newTypeName"
- val noAutoTupling: N = "noAutoTupling"
- val normalize: N = "normalize"
- val notifyAll_ : N = "notifyAll"
- val notify_ : N = "notify"
- val null_ : N = "null"
- val ofDim: N = "ofDim"
- val origin: N = "origin"
- val prefix : N = "prefix"
- val productArity: N = "productArity"
- val productElement: N = "productElement"
- val productIterator: N = "productIterator"
- val productPrefix: N = "productPrefix"
- val readResolve: N = "readResolve"
- val reflect : N = "reflect"
- val reify : N = "reify"
- val rootMirror : N = "rootMirror"
- val runOrElse: N = "runOrElse"
- val runtime: N = "runtime"
- val runtimeClass: N = "runtimeClass"
- val runtimeMirror: N = "runtimeMirror"
- val sameElements: N = "sameElements"
- val scala_ : N = "scala"
- val selectDynamic: N = "selectDynamic"
- val selectOverloadedMethod: N = "selectOverloadedMethod"
- val selectTerm: N = "selectTerm"
- val selectType: N = "selectType"
- val self: N = "self"
- val seqToArray: N = "seqToArray"
- val setAccessible: N = "setAccessible"
- val setAnnotations: N = "setAnnotations"
- val setSymbol: N = "setSymbol"
- val setType: N = "setType"
- val setTypeSignature: N = "setTypeSignature"
- val splice: N = "splice"
- val staticClass : N = "staticClass"
- val staticModule : N = "staticModule"
- val staticPackage : N = "staticPackage"
- val synchronized_ : N = "synchronized"
- val tail: N = "tail"
- val `then` : N = "then"
- val this_ : N = "this"
- val thisPrefix : N = "thisPrefix"
- val throw_ : N = "throw"
- val toArray: N = "toArray"
- val toList: N = "toList"
- val toObjectArray : N = "toObjectArray"
- val toSeq: N = "toSeq"
- val toString_ : N = "toString"
- val toTypeConstructor: N = "toTypeConstructor"
- val tpe : N = "tpe"
- val tree : N = "tree"
- val true_ : N = "true"
- val typedProductIterator: N = "typedProductIterator"
- val typeTagToManifest: N = "typeTagToManifest"
- val unapply: N = "unapply"
- val unapplySeq: N = "unapplySeq"
- val unbox: N = "unbox"
- val universe: N = "universe"
- val update: N = "update"
- val updateDynamic: N = "updateDynamic"
- val value: N = "value"
- val valueOf : N = "valueOf"
- val values : N = "values"
- val view_ : N = "view"
- val wait_ : N = "wait"
- val withFilter: N = "withFilter"
- val withFilterIfRefutable: N = "withFilterIfRefutable$"
- val wrap: N = "wrap"
- val zero: N = "zero"
- val zip: N = "zip"
- val nothingRuntimeClass: N = "scala.runtime.Nothing$"
- val nullRuntimeClass: N = "scala.runtime.Null$"
-
- val synthSwitch: N = "$synthSwitch"
-
- // unencoded operators
- object raw {
- final val AMP : N = "&"
- final val BANG : N = "!"
- final val BAR : N = "|"
- final val DOLLAR: N = "$"
- final val GE: N = ">="
- final val LE: N = "<="
- final val MINUS: N = "-"
- final val NE: N = "!="
- final val PLUS : N = "+"
- final val SLASH: N = "/"
- final val STAR : N = "*"
- final val TILDE: N = "~"
-
- final val isUnary: Set[Name] = Set(MINUS, PLUS, TILDE, BANG)
- }
-
- object specializedTypeNames {
- final val Boolean: N = "Z"
- final val Byte: N = "B"
- final val Char: N = "C"
- final val Short: N = "S"
- final val Int: N = "I"
- final val Long: N = "J"
- final val Float: N = "F"
- final val Double: N = "D"
- final val Void: N = "V"
- final val Object: N = "L"
-
- final val prefix: N = "$m"
- final val separator: N = "c"
- final val suffix: N = "$sp"
- }
-
- // value-conversion methods
- val toByte: N = "toByte"
- val toShort: N = "toShort"
- val toChar: N = "toChar"
- val toInt: N = "toInt"
- val toLong: N = "toLong"
- val toFloat: N = "toFloat"
- val toDouble: N = "toDouble"
-
- // primitive operation methods for structural types mostly
- // overlap with the above, but not for these two.
- val toCharacter: N = "toCharacter"
- val toInteger: N = "toInteger"
-
- def newLazyValSlowComputeName(lzyValName: N) = lzyValName ++ LAZY_SLOW_SUFFIX
-
- // ASCII names for operators
- val ADD = encode("+")
- val AND = encode("&")
- val ASR = encode(">>")
- val DIV = encode("/")
- val EQ = encode("==")
- val EQL = encode("=")
- val GE = encode(">=")
- val GT = encode(">")
- val HASHHASH = encode("##")
- val LE = encode("<=")
- val LSL = encode("<<")
- val LSR = encode(">>>")
- val LT = encode("<")
- val MINUS = encode("-")
- val MOD = encode("%")
- val MUL = encode("*")
- val NE = encode("!=")
- val OR = encode("|")
- val PLUS = ADD // technically redundant, but ADD looks funny with MINUS
- val SUB = MINUS // ... as does SUB with PLUS
- val XOR = encode("^")
- val ZAND = encode("&&")
- val ZOR = encode("||")
-
- // unary operators
- val UNARY_PREFIX: N = "unary_"
- val UNARY_~ = encode("unary_~")
- val UNARY_+ = encode("unary_+")
- val UNARY_- = encode("unary_-")
- val UNARY_! = encode("unary_!")
-
- // Grouped here so Cleanup knows what tests to perform.
- val CommonOpNames = Set[Name](OR, XOR, AND, EQ, NE)
- val ConversionNames = Set[Name](toByte, toChar, toDouble, toFloat, toInt, toLong, toShort)
- val BooleanOpNames = Set[Name](ZOR, ZAND, UNARY_!) ++ CommonOpNames
- val NumberOpNames = (
- Set[Name](ADD, SUB, MUL, DIV, MOD, LSL, LSR, ASR, LT, LE, GE, GT)
- ++ Set(UNARY_+, UNARY_-, UNARY_!)
- ++ ConversionNames
- ++ CommonOpNames
- )
-
- val add: N = "add"
- val complement: N = "complement"
- val divide: N = "divide"
- val multiply: N = "multiply"
- val negate: N = "negate"
- val positive: N = "positive"
- val shiftLogicalRight: N = "shiftLogicalRight"
- val shiftSignedLeft: N = "shiftSignedLeft"
- val shiftSignedRight: N = "shiftSignedRight"
- val subtract: N = "subtract"
- val takeAnd: N = "takeAnd"
- val takeConditionalAnd: N = "takeConditionalAnd"
- val takeConditionalOr: N = "takeConditionalOr"
- val takeModulo: N = "takeModulo"
- val takeNot: N = "takeNot"
- val takeOr: N = "takeOr"
- val takeXor: N = "takeXor"
- val testEqual: N = "testEqual"
- val testGreaterOrEqualThan: N = "testGreaterOrEqualThan"
- val testGreaterThan: N = "testGreaterThan"
- val testLessOrEqualThan: N = "testLessOrEqualThan"
- val testLessThan: N = "testLessThan"
- val testNotEqual: N = "testNotEqual"
-
- val isBoxedNumberOrBoolean: N = "isBoxedNumberOrBoolean"
- val isBoxedNumber: N = "isBoxedNumber"
-
- val reflPolyCacheName: N = "reflPoly$Cache"
- val reflClassCacheName: N = "reflClass$Cache"
- val reflParamsCacheName: N = "reflParams$Cache"
- val reflMethodCacheName: N = "reflMethod$Cache"
- val reflMethodName: N = "reflMethod$Method"
-
- private val reflectionCacheNames = Set[N](
- reflPolyCacheName,
- reflClassCacheName,
- reflParamsCacheName,
- reflMethodCacheName,
- reflMethodName
- )
-
- def isReflectionCacheName(name: Name) = reflectionCacheNames exists (name startsWith _)
- }
-
- class ScalaTermNames extends ScalaNames[TermName] {
- protected implicit def fromString(s: String): TermName = termName(s)
-
- @switch def syntheticParamName(i: Int): TermName = i match {
- case 0 => x_0
- case 1 => x_1
- case 2 => x_2
- case 3 => x_3
- case 4 => x_4
- case 5 => x_5
- case 6 => x_6
- case 7 => x_7
- case 8 => x_8
- case 9 => x_9
- case _ => termName("x$" + i)
- }
-
- @switch def productAccessorName(j: Int): TermName = j match {
- case 1 => nme._1
- case 2 => nme._2
- case 3 => nme._3
- case 4 => nme._4
- case 5 => nme._5
- case 6 => nme._6
- case 7 => nme._7
- case 8 => nme._8
- case 9 => nme._9
- case 10 => nme._10
- case 11 => nme._11
- case 12 => nme._12
- case 13 => nme._13
- case 14 => nme._14
- case 15 => nme._15
- case 16 => nme._16
- case 17 => nme._17
- case 18 => nme._18
- case 19 => nme._19
- case 20 => nme._20
- case 21 => nme._21
- case 22 => nme._22
- case _ => termName("_" + j)
- }
-
- def syntheticParamNames(num: Int): List[TermName] =
- (0 until num).map(syntheticParamName)(breakOut)
-
- def localDummyName(clazz: Symbol)(implicit ctx: Context): TermName =
- LOCALDUMMY_PREFIX ++ clazz.name ++ ">"
-
- def newBitmapName(bitmapPrefix: TermName, n: Int): TermName = bitmapPrefix ++ n.toString
-
- def selectorName(n: Int): TermName = "_" + (n + 1)
-
- object primitive {
- val arrayApply: TermName = "[]apply"
- val arrayUpdate: TermName = "[]update"
- val arrayLength: TermName = "[]length"
- val names: Set[Name] = Set(arrayApply, arrayUpdate, arrayLength)
- }
-
- def isPrimitiveName(name: Name) = primitive.names.contains(name)
- }
-
- class ScalaTypeNames extends ScalaNames[TypeName] {
- protected implicit def fromString(s: String): TypeName = typeName(s)
-
- def syntheticTypeParamName(i: Int): TypeName = "X" + i
-
- def syntheticTypeParamNames(num: Int): List[TypeName] =
- (0 until num).map(syntheticTypeParamName)(breakOut)
-
- final val Conforms = encode("<:<")
-
- final val Uninstantiated: TypeName = "?$"
- }
-
- abstract class JavaNames[N <: Name] extends DefinedNames[N] {
- final val ABSTRACTkw: N = kw("abstract")
- final val ASSERTkw: N = kw("assert")
- final val BOOLEANkw: N = kw("boolean")
- final val BREAKkw: N = kw("break")
- final val BYTEkw: N = kw("byte")
- final val CASEkw: N = kw("case")
- final val CATCHkw: N = kw("catch")
- final val CHARkw: N = kw("char")
- final val CLASSkw: N = kw("class")
- final val CONSTkw: N = kw("const")
- final val CONTINUEkw: N = kw("continue")
- final val DEFAULTkw: N = kw("default")
- final val DOkw: N = kw("do")
- final val DOUBLEkw: N = kw("double")
- final val ELSEkw: N = kw("else")
- final val ENUMkw: N = kw("enum")
- final val EXTENDSkw: N = kw("extends")
- final val FINALkw: N = kw("final")
- final val FINALLYkw: N = kw("finally")
- final val FLOATkw: N = kw("float")
- final val FORkw: N = kw("for")
- final val IFkw: N = kw("if")
- final val GOTOkw: N = kw("goto")
- final val IMPLEMENTSkw: N = kw("implements")
- final val IMPORTkw: N = kw("import")
- final val INSTANCEOFkw: N = kw("instanceof")
- final val INTkw: N = kw("int")
- final val INTERFACEkw: N = kw("interface")
- final val LONGkw: N = kw("long")
- final val NATIVEkw: N = kw("native")
- final val NEWkw: N = kw("new")
- final val PACKAGEkw: N = kw("package")
- final val PRIVATEkw: N = kw("private")
- final val PROTECTEDkw: N = kw("protected")
- final val PUBLICkw: N = kw("public")
- final val RETURNkw: N = kw("return")
- final val SHORTkw: N = kw("short")
- final val STATICkw: N = kw("static")
- final val STRICTFPkw: N = kw("strictfp")
- final val SUPERkw: N = kw("super")
- final val SWITCHkw: N = kw("switch")
- final val SYNCHRONIZEDkw: N = kw("synchronized")
- final val THISkw: N = kw("this")
- final val THROWkw: N = kw("throw")
- final val THROWSkw: N = kw("throws")
- final val TRANSIENTkw: N = kw("transient")
- final val TRYkw: N = kw("try")
- final val VOIDkw: N = kw("void")
- final val VOLATILEkw: N = kw("volatile")
- final val WHILEkw: N = kw("while")
-
- final val BoxedBoolean: N = "java.lang.Boolean"
- final val BoxedByte: N = "java.lang.Byte"
- final val BoxedCharacter: N = "java.lang.Character"
- final val BoxedDouble: N = "java.lang.Double"
- final val BoxedFloat: N = "java.lang.Float"
- final val BoxedInteger: N = "java.lang.Integer"
- final val BoxedLong: N = "java.lang.Long"
- final val BoxedNumber: N = "java.lang.Number"
- final val BoxedShort: N = "java.lang.Short"
- final val Class: N = "java.lang.Class"
- final val IOOBException: N = "java.lang.IndexOutOfBoundsException"
- final val InvTargetException: N = "java.lang.reflect.InvocationTargetException"
- final val MethodAsObject: N = "java.lang.reflect.Method"
- final val NPException: N = "java.lang.NullPointerException"
- final val Object: N = "java.lang.Object"
- final val String: N = "java.lang.String"
- final val Throwable: N = "java.lang.Throwable"
-
- final val ForName: N = "forName"
- final val GetCause: N = "getCause"
- final val GetClass: N = "getClass"
- final val GetClassLoader: N = "getClassLoader"
- final val GetComponentType: N = "getComponentType"
- final val GetMethod: N = "getMethod"
- final val Invoke: N = "invoke"
- final val JavaLang: N = "java.lang"
-
- final val BeanProperty: N = "scala.beans.BeanProperty"
- final val BooleanBeanProperty: N = "scala.beans.BooleanBeanProperty"
- final val JavaSerializable: N = "java.io.Serializable"
- }
-
- class JavaTermNames extends JavaNames[TermName] {
- protected def fromString(s: String): TermName = termName(s)
- }
- class JavaTypeNames extends JavaNames[TypeName] {
- protected def fromString(s: String): TypeName = typeName(s)
- }
-
- val nme = new ScalaTermNames
- val tpnme = new ScalaTypeNames
- val jnme = new JavaTermNames
- val jtpnme = new JavaTypeNames
-
-}