Name class

In the most places in frontend identifier is stored in Name class, was in String.
Name has two advantages over String:
* validation: you cannot accidentally create identifier with dot, for example
* readability: if you see String, you don't now whether it is
  identifier, fq name, jvm class name or something else

Name's disadvantage is (small) performance overhead. We have no value types in JVM.
This commit is contained in:
Stepan Koltsov
2012-05-23 02:52:32 +04:00
parent c15ff2dee0
commit 33a59ff5fe
152 changed files with 962 additions and 726 deletions
+2 -2
View File
@@ -45,5 +45,5 @@ private enum class TheEnum(val rgb : Int) {
//internal final fun classObjectFunction() : jet.Int defined in rendererTest.TheTrait.<no name provided>
//private final enum class TheEnum defined in rendererTest
//value-parameter val rgb : jet.Int defined in rendererTest.TheEnum.<init>
//internal final class VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.class-object-for-TheEnum
//internal final val VAL1 : rendererTest.TheEnum.class-object-for-TheEnum.VAL1 defined in rendererTest.TheEnum.class-object-for-TheEnum
//internal final class VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.<class-object-for-TheEnum>
//internal final val VAL1 : rendererTest.TheEnum.<class-object-for-TheEnum>.VAL1 defined in rendererTest.TheEnum.<class-object-for-TheEnum>
@@ -17,4 +17,4 @@ get() {}
//internal final val int2 : jet.Int defined in rendererTest
//private final var private : jet.Int defined in rendererTest
//public final val jet.Int.ext : jet.Int defined in rendererTest
//public final fun jet.Int.get-ext() : jet.Int defined in rendererTest
//public final fun jet.Int.<get-ext>() : jet.Int defined in rendererTest