mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 09:12:22 +07:00
[yaml] IJPL-64341 IJ-CR-147338 Check whether the given tag is recognised by a particular technology support in the JSON schema validation
(cherry picked from commit 5b1b800e6e16a9ca8674c398fde1255e35be2a0a) GitOrigin-RevId: 8434f76bbcb0c2ebc14617b61119b17e909b09e5
This commit is contained in:
committed by
intellij-monorepo-bot
parent
9136f0f7d5
commit
e8ae304c95
@@ -3,6 +3,7 @@ package org.jetbrains.yaml.schema;
|
||||
|
||||
import com.intellij.openapi.util.NotNullLazyValue;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.jetbrains.jsonSchema.extension.adapters.JsonArrayValueAdapter;
|
||||
import com.jetbrains.jsonSchema.extension.adapters.JsonObjectValueAdapter;
|
||||
import com.jetbrains.jsonSchema.extension.adapters.JsonValueAdapter;
|
||||
@@ -11,6 +12,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.yaml.psi.YAMLSequence;
|
||||
import org.jetbrains.yaml.psi.YAMLSequenceItem;
|
||||
import org.jetbrains.yaml.psi.YAMLValue;
|
||||
import org.jetbrains.yaml.psi.YamlTagRecogniser;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -34,7 +36,11 @@ public final class YamlArrayAdapter implements JsonArrayValueAdapter {
|
||||
@Override
|
||||
public boolean isArray() {
|
||||
PsiElement tag = myArray.getTag();
|
||||
return tag == null || "!!seq".equals(tag.getText());
|
||||
if (tag == null) return true;
|
||||
|
||||
String tagText = tag.getText();
|
||||
return "!!seq".equals(tagText)
|
||||
|| ContainerUtil.exists(YamlTagRecogniser.EP_NAME.getExtensionList(), extension -> extension.isRecognizedTag(tagText));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.jetbrains.jsonSchema.extension.adapters.JsonArrayValueAdapter;
|
||||
import com.jetbrains.jsonSchema.extension.adapters.JsonObjectValueAdapter;
|
||||
import com.jetbrains.jsonSchema.extension.adapters.JsonPropertyAdapter;
|
||||
@@ -27,7 +28,11 @@ public final class YamlObjectAdapter implements JsonObjectValueAdapter {
|
||||
@Override
|
||||
public boolean isObject() {
|
||||
PsiElement tag = myObject.getTag();
|
||||
return tag == null || "!!map".equals(tag.getText());
|
||||
|
||||
if (tag == null) return true;
|
||||
String tagText = tag.getText();
|
||||
return "!!map".equals(tagText)
|
||||
|| ContainerUtil.exists(YamlTagRecogniser.EP_NAME.getExtensionList(), extension -> extension.isRecognizedTag(tagText));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user