From 304c50c5e084b4f19b35e14e13a09066a72e86b3 Mon Sep 17 00:00:00 2001 From: "sergey.anchipolevsky" Date: Thu, 5 Sep 2019 16:39:16 +0300 Subject: [PATCH] [yaml] CachedValue exception fixed when multiple models used on same file GitOrigin-RevId: 641d85e3f6eac8bc89d1e3dc16db270eed86f1ba --- .../org/jetbrains/yaml/meta/impl/YamlMetaTypeProvider.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlMetaTypeProvider.java b/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlMetaTypeProvider.java index a126b2a7424e..2a8659311a4f 100644 --- a/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlMetaTypeProvider.java +++ b/plugins/yaml/src/org/jetbrains/yaml/meta/impl/YamlMetaTypeProvider.java @@ -28,7 +28,7 @@ public class YamlMetaTypeProvider { private static final Logger LOG = Logger.getInstance(YamlMetaTypeProvider.class); - private static final Key> KEY = Key.create(YamlMetaTypeProvider.class.getName() + ":KEY"); + private final Key> myKey; @NotNull private final ModelAccess myMetaModel; @@ -37,6 +37,7 @@ public class YamlMetaTypeProvider { public YamlMetaTypeProvider(@NotNull final ModelAccess metaModel, @NotNull final ModificationTracker modificationTracker) { myMetaModel = metaModel; + myKey = Key.create(metaModel.getClass().getName() + ":KEY"); myModificationTracker = modificationTracker; } @@ -69,7 +70,7 @@ public class YamlMetaTypeProvider { @Nullable public MetaTypeProxy getValueMetaType(@NotNull YAMLValue typedValue) { - return CachedValuesManager.getCachedValue(typedValue, KEY, () -> { + return CachedValuesManager.getCachedValue(typedValue, myKey, () -> { debug(" >> computing type for : " + YamlDebugUtil.getDebugInfo(typedValue)); FieldAndRelation computed = computeMetaType(typedValue); debug(" << finished for : " + YamlDebugUtil.getDebugInfo(typedValue) +