From 4c0a61fbd575299bce187d8e761894cf8fee5d4a Mon Sep 17 00:00:00 2001 From: Michael Golubev Date: Mon, 19 Mar 2018 16:36:08 +0100 Subject: [PATCH] IDEA-181802: red code "Single value is expected" for allowed json arrays - ad hoc StringOrListType introduced in compose --- .../meta/impl/YamlUnknownValuesInspectionBase.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlUnknownValuesInspectionBase.java b/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlUnknownValuesInspectionBase.java index 072456cabe13..8451bea3e70d 100644 --- a/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlUnknownValuesInspectionBase.java +++ b/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlUnknownValuesInspectionBase.java @@ -20,7 +20,7 @@ public abstract class YamlUnknownValuesInspectionBase extends YamlMetaTypeInspec return new ValuesChecker(holder, metaTypeProvider); } - private static class ValuesChecker extends SimpleYamlPsiVisitor { + protected static class ValuesChecker extends SimpleYamlPsiVisitor { private final YamlMetaTypeProvider myMetaTypeProvider; private final ProblemsHolder myProblemsHolder; @@ -45,14 +45,18 @@ public abstract class YamlUnknownValuesInspectionBase extends YamlMetaTypeInspec return; } + validateMultiplicity(meta, value); + + meta.getMetaType().validateKeyValue(keyValue, myProblemsHolder); + } + + protected void validateMultiplicity(@NotNull YamlMetaTypeProvider.MetaTypeProxy meta, @NotNull YAMLValue value) { if (meta.getField().isMany()) { requireMultiplicityMany(value); } else if (!meta.getField().hasRelationSpecificType(Field.Relation.SEQUENCE_ITEM)) { requireMultiplicityOne(value); } - - meta.getMetaType().validateKeyValue(keyValue, myProblemsHolder); } protected void requireMultiplicityOne(@NotNull YAMLValue value) {