JS: rewrite stdlib to compile with new flat structure

This commit is contained in:
Alexey Andreev
2016-10-14 15:34:16 +03:00
parent f9a392fdec
commit e13d34e08d
38 changed files with 588 additions and 1016 deletions
@@ -19,7 +19,8 @@ package org.jetbrains.kotlin.js.naming
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor
import org.jetbrains.kotlin.js.descriptorUtils.getJetTypeFqName
import org.jetbrains.kotlin.js.translate.utils.AnnotationsUtils.*
import org.jetbrains.kotlin.js.translate.utils.AnnotationsUtils.getNameForAnnotatedObject
import org.jetbrains.kotlin.js.translate.utils.AnnotationsUtils.isNativeObject
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.DescriptorUtils.isCompanionObject
import org.jetbrains.kotlin.resolve.calls.tasks.isDynamic
@@ -198,6 +199,13 @@ class NameSuggestion {
val nativeName = getNameForAnnotatedObject(overriddenDescriptor)
if (nativeName != null) return NameAndStability(nativeName, true)
if (overriddenDescriptor is FunctionDescriptor) {
when (overriddenDescriptor.fqNameUnsafe.asString()) {
"kotlin.CharSequence.subSequence" -> return NameAndStability("substring", true)
"kotlin.CharSequence.get" -> return NameAndStability("charAt", true)
}
}
return mangleRegularNameIfNecessary(baseName, overriddenDescriptor)
}