From 942fa7719abcc6775c86c430f59360f851ee0c8d Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Sat, 27 May 2017 00:00:11 +0300 Subject: [PATCH] Android Extensions: Add synthetic property highlighting --- idea/idea-analysis/idea-analysis.iml | 1 + .../src/org/jetbrains/kotlin/idea/KotlinBundle.properties | 1 + .../kotlin/idea/highlighter/KotlinHighlightingColors.java | 1 + .../kotlin/idea/highlighter/PropertiesHighlightingVisitor.kt | 4 ++++ .../kotlin/idea/highlighter/KotlinColorSettingsPage.kt | 1 + 5 files changed, 8 insertions(+) diff --git a/idea/idea-analysis/idea-analysis.iml b/idea/idea-analysis/idea-analysis.iml index e624de9592d..e5814032f73 100644 --- a/idea/idea-analysis/idea-analysis.iml +++ b/idea/idea-analysis/idea-analysis.iml @@ -36,5 +36,6 @@ + \ No newline at end of file diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinBundle.properties b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinBundle.properties index b49379ba29d..bbcf0e0309e 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinBundle.properties +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/KotlinBundle.properties @@ -80,6 +80,7 @@ options.kotlin.attribute.descriptor.package.property=Properties and Variables//P options.kotlin.attribute.descriptor.field=Properties and Variables//Backing field variable options.kotlin.attribute.descriptor.extension.property=Properties and Variables//Extension property options.kotlin.attribute.descriptor.dynamic.property=Properties and Variables//Dynamic property +options.kotlin.attribute.descriptor.android.extensions.property=Properties and Variables//Android Extensions synthetic properties options.kotlin.attribute.descriptor.it=Parameters//Lambda expression default parameter options.kotlin.attribute.descriptor.fun=Functions//Function declaration options.kotlin.attribute.descriptor.fun.call=Functions//Function call diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java index c4b1ebec5c4..5c72dc5a2ec 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java @@ -66,6 +66,7 @@ public class KotlinHighlightingColors { public static final TextAttributesKey BACKING_FIELD_VARIABLE = createTextAttributesKey("KOTLIN_BACKING_FIELD_VARIABLE"); public static final TextAttributesKey EXTENSION_PROPERTY = createTextAttributesKey("KOTLIN_EXTENSION_PROPERTY", DefaultLanguageHighlighterColors.STATIC_FIELD); public static final TextAttributesKey DYNAMIC_PROPERTY_CALL = createTextAttributesKey("KOTLIN_DYNAMIC_PROPERTY_CALL"); + public static final TextAttributesKey ANDROID_EXTENSIONS_PROPERTY_CALL = createTextAttributesKey("KOTLIN_ANDROID_EXTENSIONS_PROPERTY_CALL"); // functions public static final TextAttributesKey FUNCTION_LITERAL_DEFAULT_PARAMETER = createTextAttributesKey("KOTLIN_CLOSURE_DEFAULT_PARAMETER"); diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PropertiesHighlightingVisitor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PropertiesHighlightingVisitor.kt index ee9217ebe3b..ccef67de56f 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PropertiesHighlightingVisitor.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PropertiesHighlightingVisitor.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.highlighter import com.intellij.lang.annotation.AnnotationHolder import com.intellij.psi.PsiElement +import org.jetbrains.kotlin.android.synthetic.res.AndroidSyntheticProperty import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor import org.jetbrains.kotlin.idea.highlighter.KotlinHighlightingColors.* @@ -76,6 +77,9 @@ internal class PropertiesHighlightingVisitor(holder: AnnotationHolder, bindingCo descriptor.isDynamic() -> DYNAMIC_PROPERTY_CALL + descriptor is AndroidSyntheticProperty -> + ANDROID_EXTENSIONS_PROPERTY_CALL + descriptor.extensionReceiverParameter != null -> EXTENSION_PROPERTY diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt index 355df31574c..5ddeda29285 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt @@ -146,6 +146,7 @@ var globalCounter