From 27d3ed76a054efeb33fbdba9c3ff030bc1671105 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Mon, 18 Sep 2017 18:05:49 +0300 Subject: [PATCH] Android Extensions: Support non-latin identifiers (KT-20299) --- .../kotlin/android/synthetic/AndroidConst.kt | 3 +- .../nonLatinNames/res/layout/test.xml | 24 ++++++++++++ .../descriptors/nonLatinNames/result.txt | 38 +++++++++++++++++++ ...theticPropertyDescriptorTestGenerated.java | 6 +++ 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 plugins/android-extensions/android-extensions-compiler/testData/descriptors/nonLatinNames/res/layout/test.xml create mode 100644 plugins/android-extensions/android-extensions-compiler/testData/descriptors/nonLatinNames/result.txt diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidConst.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidConst.kt index 965f0ed05e0..9ca6a2ce5bb 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidConst.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidConst.kt @@ -32,7 +32,8 @@ object AndroidConst { val ID_ATTRIBUTE_NO_NAMESPACE: String = "id" val CLASS_ATTRIBUTE_NO_NAMESPACE: String = "class" - val IDENTIFIER_REGEX = "^@(\\+)?(([A-Za-z0-9_\\.]+)\\:)?id\\/([A-Za-z0-9_]+)$".toRegex() + private val IDENTIFIER_WORD_REGEX = "[(?:\\p{L}\\p{M}*)0-9_\\.]+" + val IDENTIFIER_REGEX = "^@(\\+)?(($IDENTIFIER_WORD_REGEX)\\:)?id\\/($IDENTIFIER_WORD_REGEX)$".toRegex() val CLEAR_FUNCTION_NAME = "clearFindViewByIdCache" diff --git a/plugins/android-extensions/android-extensions-compiler/testData/descriptors/nonLatinNames/res/layout/test.xml b/plugins/android-extensions/android-extensions-compiler/testData/descriptors/nonLatinNames/res/layout/test.xml new file mode 100644 index 00000000000..f96908bd5cc --- /dev/null +++ b/plugins/android-extensions/android-extensions-compiler/testData/descriptors/nonLatinNames/res/layout/test.xml @@ -0,0 +1,24 @@ + + + + + + +