diff options
author | Martin Odersky <odersky@gmail.com> | 2015-11-07 16:23:46 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-11-09 15:45:39 +0100 |
commit | bf38d8cebb81ea42c3de7c9f5bbaddc3ec45fc8a (patch) | |
tree | b2204112b0664d1ec0dfc79735d5a3e69964ebfb /src/dotty/tools/dotc/core/Definitions.scala | |
parent | dfca53ea14970e9071f943ffa6662cb7ce9ed8ca (diff) | |
download | dotty-bf38d8cebb81ea42c3de7c9f5bbaddc3ec45fc8a.tar.gz dotty-bf38d8cebb81ea42c3de7c9f5bbaddc3ec45fc8a.tar.bz2 dotty-bf38d8cebb81ea42c3de7c9f5bbaddc3ec45fc8a.zip |
Remove/hide value class maps
Remove unneeded maps and make the ones that are needed
private. Reason: Maps indexed with TypeNames are prone
to misuse; should be accessed only with names of known
primitive classes.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Definitions.scala | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala index 24798f8e2..4fd5bc684 100644 --- a/src/dotty/tools/dotc/core/Definitions.scala +++ b/src/dotty/tools/dotc/core/Definitions.scala @@ -693,29 +693,26 @@ class Definitions { lazy val ScalaBoxedTypeRefs = ScalaValueTypes map (t => boxedTypeRef(t.name)) def ScalaBoxedClasses = ScalaBoxedTypeRefs.map(_.symbol) - private[this] val _boxedTypeRef = mutable.Map[TypeName, TypeRef]() - private[this] val _unboxedTypeRef = mutable.Map[TypeName, TypeRef]() + private val boxedTypeRef = mutable.Map[TypeName, TypeRef]() + private val valueTypeEnc = mutable.Map[TypeName, PrimitiveClassEnc]() - private[this] val _javaTypeToValueTypeRef = mutable.Map[Class[_], TypeRef]() - private[this] val _valueTypeRefToJavaType = mutable.Map[TypeName, Class[_]]() - private[this] val _valueTypeEnc = mutable.Map[TypeName, PrimitiveClassEnc]() - - val boxedTypeRef: collection.Map[TypeName, TypeRef] = _boxedTypeRef - val unboxedTypeRef: collection.Map[TypeName, TypeRef] = _unboxedTypeRef - val javaTypeToValueTypeRef: collection.Map[Class[_], TypeRef] = _javaTypeToValueTypeRef - val valueTypeRefToJavaType: collection.Map[TypeName, Class[_]] = _valueTypeRefToJavaType - val valueTypeEnc: collection.Map[TypeName, Int] = _valueTypeEnc +// private val unboxedTypeRef = mutable.Map[TypeName, TypeRef]() +// private val javaTypeToValueTypeRef = mutable.Map[Class[_], TypeRef]() +// private val valueTypeNameToJavaType = mutable.Map[TypeName, Class[_]]() private def valueTypeRef(name: String, boxed: TypeRef, jtype: Class[_], enc: Int): TypeRef = { val vcls = ctx.requiredClassRef(name) - _unboxedTypeRef(boxed.name) = vcls - _boxedTypeRef(vcls.name) = boxed - _javaTypeToValueTypeRef(jtype) = vcls - _valueTypeRefToJavaType(vcls.name) = jtype - _valueTypeEnc(vcls.name) = enc + boxedTypeRef(vcls.name) = boxed + valueTypeEnc(vcls.name) = enc +// unboxedTypeRef(boxed.name) = vcls +// javaTypeToValueTypeRef(jtype) = vcls +// valueTypeNameToJavaType(vcls.name) = jtype vcls } + /** The type of the boxed class corresponding to primitive value type `tp`. */ + def boxedType(tp: Type)(implicit ctx: Context): TypeRef = boxedTypeRef.apply(scalaClassName(tp)) + def wrapArrayMethodName(elemtp: Type): TermName = { val cls = elemtp.classSymbol if (cls.isPrimitiveValueClass) nme.wrapXArray(cls.name) |