Underscore names are now forbidden
This commit is contained in:
@@ -558,7 +558,7 @@ public interface Errors {
|
||||
|
||||
DiagnosticFactory1<JetSimpleNameExpression, JetType> COMPARE_TO_TYPE_MISMATCH = DiagnosticFactory1.create(ERROR);
|
||||
|
||||
DiagnosticFactory0<PsiElement> UNDERSCORE_IS_DEPRECATED = DiagnosticFactory0.create(WARNING);
|
||||
DiagnosticFactory0<PsiElement> UNDERSCORE_IS_RESERVED = DiagnosticFactory0.create(ERROR);
|
||||
DiagnosticFactory1<PsiElement, String> INVALID_CHARACTERS = DiagnosticFactory1.create(ERROR);
|
||||
|
||||
DiagnosticFactory0<PsiElement> INAPPLICABLE_OPERATOR_MODIFIER = DiagnosticFactory0.create(WARNING);
|
||||
|
||||
+1
-1
@@ -365,7 +365,7 @@ public class DefaultErrorMessages {
|
||||
|
||||
MAP.put(COMPARE_TO_TYPE_MISMATCH, "''compareTo()'' must return kotlin.Int, but returns {0}", RENDER_TYPE);
|
||||
|
||||
MAP.put(UNDERSCORE_IS_DEPRECATED, "Names _, __, ___, ..., are deprecated");
|
||||
MAP.put(UNDERSCORE_IS_RESERVED, "Names _, __, ___, ..., are reserved in Kotlin");
|
||||
MAP.put(INVALID_CHARACTERS, "Name {0}", STRING);
|
||||
|
||||
MAP.put(INAPPLICABLE_OPERATOR_MODIFIER, "'operator' modifier is inapplicable on this function");
|
||||
|
||||
@@ -30,7 +30,7 @@ object UnderscoreChecker : DeclarationChecker {
|
||||
fun checkIdentifier(identifier: PsiElement?, diagnosticHolder: DiagnosticSink) {
|
||||
if (identifier == null || identifier.text.isEmpty()) return
|
||||
if (identifier.text.all { it == '_' }) {
|
||||
diagnosticHolder.report(Errors.UNDERSCORE_IS_DEPRECATED.on(identifier))
|
||||
diagnosticHolder.report(Errors.UNDERSCORE_IS_RESERVED.on(identifier))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ class LazyImportResolver(
|
||||
}
|
||||
for ((alias, import) in explicitClassImports.entries()) {
|
||||
if (alias.all { it == '_' }) {
|
||||
traceForImportResolve.report(Errors.UNDERSCORE_IS_DEPRECATED.on(import))
|
||||
traceForImportResolve.report(Errors.UNDERSCORE_IS_RESERVED.on(import))
|
||||
}
|
||||
}
|
||||
for (alias in explicitClassImports.keySet()) {
|
||||
|
||||
+3
-3
@@ -4,9 +4,9 @@ public open class Identifier() {
|
||||
private var myNullable : Boolean = true
|
||||
companion object {
|
||||
open public fun init(isNullable : Boolean) : Identifier {
|
||||
val __ = Identifier()
|
||||
__.myNullable = isNullable
|
||||
return __
|
||||
val id = Identifier()
|
||||
id.myNullable = isNullable
|
||||
return id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@ class Identifier<T>(t : T?, myHasDollar : Boolean) {
|
||||
|
||||
companion object {
|
||||
open public fun <T> init(name : T?) : Identifier<T> {
|
||||
val __ = Identifier<T>(name, false)
|
||||
return __
|
||||
val id = Identifier<T>(name, false)
|
||||
return id
|
||||
}
|
||||
}
|
||||
init {
|
||||
|
||||
+8
-8
@@ -1,20 +1,20 @@
|
||||
// !DIAGNOSTICS: -DEPRECATION
|
||||
|
||||
<!UNDERSCORE_IS_DEPRECATED!>import kotlin.Deprecated as ___<!>
|
||||
<!UNDERSCORE_IS_RESERVED!>import kotlin.Deprecated as ___<!>
|
||||
|
||||
@___("") data class Pair(val x: Int, val y: Int)
|
||||
|
||||
class <!UNDERSCORE_IS_DEPRECATED!>_<!><<!UNDERSCORE_IS_DEPRECATED!>________<!>>
|
||||
val <!UNDERSCORE_IS_DEPRECATED!>______<!> = _<Int>()
|
||||
class <!UNDERSCORE_IS_RESERVED!>_<!><<!UNDERSCORE_IS_RESERVED!>________<!>>
|
||||
val <!UNDERSCORE_IS_RESERVED!>______<!> = _<Int>()
|
||||
|
||||
fun <!UNDERSCORE_IS_DEPRECATED!>__<!>(<!UNDERSCORE_IS_DEPRECATED!>___<!>: Int, y: _<Int>?): Int {
|
||||
val (x, <!UNDERSCORE_IS_DEPRECATED!>__________<!>) = Pair(___ - 1, 42)
|
||||
val <!UNDERSCORE_IS_DEPRECATED!>____<!> = x
|
||||
fun <!UNDERSCORE_IS_RESERVED!>__<!>(<!UNDERSCORE_IS_RESERVED!>___<!>: Int, y: _<Int>?): Int {
|
||||
val (x, <!UNDERSCORE_IS_RESERVED!>__________<!>) = Pair(___ - 1, 42)
|
||||
val <!UNDERSCORE_IS_RESERVED!>____<!> = x
|
||||
// in backquotes: allowed
|
||||
val `_` = __________
|
||||
<!UNDERSCORE_IS_DEPRECATED!>__<!>@ return if (y != null) __(____, y) else __(`_`, ______)
|
||||
<!UNDERSCORE_IS_RESERVED!>__<!>@ return if (y != null) __(____, y) else __(`_`, ______)
|
||||
}
|
||||
|
||||
fun doIt(f: (Any?) -> Any?) = f(null)
|
||||
|
||||
val something = doIt { <!UNDERSCORE_IS_DEPRECATED!>__<!> -> __ }
|
||||
val something = doIt { <!UNDERSCORE_IS_RESERVED!>__<!> -> __ }
|
||||
@@ -330,7 +330,7 @@ public class QuickFixRegistrar : QuickFixContributor {
|
||||
OPERATOR_MODIFIER_REQUIRED.registerFactory(AddModifierFixFactory(JetTokens.OPERATOR_KEYWORD))
|
||||
INFIX_MODIFIER_REQUIRED.registerFactory(AddModifierFixFactory(JetTokens.INFIX_KEYWORD))
|
||||
|
||||
UNDERSCORE_IS_DEPRECATED.registerFactory(RenameUnderscoreFix)
|
||||
UNDERSCORE_IS_RESERVED.registerFactory(RenameUnderscoreFix)
|
||||
|
||||
CALLABLE_REFERENCE_TO_MEMBER_OR_EXTENSION_WITH_EMPTY_LHS.registerFactory(AddTypeToLHSOfCallableReferenceFix)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user