diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-09 15:19:24 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-17 18:07:16 +0200 |
commit | 56a0a908eb1e0999504e0e483cfc71664bc79c75 (patch) | |
tree | f4c9644042bdb923af7d86117ff78db80814ab88 /src/dotty/tools/dotc/core/StdNames.scala | |
parent | 7a74d71202f514e5d5b79b8e393bd564dff5f0a2 (diff) | |
download | dotty-56a0a908eb1e0999504e0e483cfc71664bc79c75.tar.gz dotty-56a0a908eb1e0999504e0e483cfc71664bc79c75.tar.bz2 dotty-56a0a908eb1e0999504e0e483cfc71664bc79c75.zip |
Definitions used by patmat
Diffstat (limited to 'src/dotty/tools/dotc/core/StdNames.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/StdNames.scala | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/StdNames.scala b/src/dotty/tools/dotc/core/StdNames.scala index 3cafd2af7..4f2fe9dba 100644 --- a/src/dotty/tools/dotc/core/StdNames.scala +++ b/src/dotty/tools/dotc/core/StdNames.scala @@ -266,6 +266,28 @@ object StdNames { 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("???") @@ -628,6 +650,32 @@ object StdNames { 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) @@ -637,6 +685,15 @@ object StdNames { def newBitmapName(bitmapPrefix: TermName, n: Int): TermName = bitmapPrefix ++ n.toString def selectorName(n: Int): TermName = "_" + (n + 1) + /** Is name a variable name? */ + def isVariableName(name: Name): Boolean = { + val first = name.firstChar + ( ((first.isLower && first.isLetter) || first == '_') + && (name != nme.false_) + && (name != nme.true_) + && (name != nme.null_) + ) + } object primitive { val arrayApply: TermName = "[]apply" |