diff --git a/platform/lang-impl/src/com/intellij/psi/impl/meta/MetaRegistry.java b/platform/lang-impl/src/com/intellij/psi/impl/meta/MetaRegistry.java index 4aa8843c6c4a..54e2c2ac9afc 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/meta/MetaRegistry.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/meta/MetaRegistry.java @@ -71,23 +71,23 @@ public class MetaRegistry extends MetaDataRegistrar { protected CachedValue compute(final PsiElement element, Object p) { return CachedValuesManager.getManager(element.getProject()).createCachedValue(new CachedValueProvider() { public Result compute() { - try { - ensureContributorsLoaded(); - for (final MyBinding binding : ourBindings) { - if (binding.myFilter.isClassAcceptable(element.getClass()) && binding.myFilter.isAcceptable(element, element.getParent())) { - final PsiMetaData data = binding.myDataClass.newInstance(); - data.init(element); - return new Result(data, data.getDependences()); + ensureContributorsLoaded(); + for (final MyBinding binding : ourBindings) { + if (binding.myFilter.isClassAcceptable(element.getClass()) && binding.myFilter.isAcceptable(element, element.getParent())) { + final PsiMetaData data; + try { + data = binding.myDataClass.newInstance(); } + catch (InstantiationException e) { + throw new RuntimeException("failed to instantiate " + binding.myDataClass, e); + } + catch (IllegalAccessException e) { + throw new RuntimeException("failed to instantiate " + binding.myDataClass, e); + } + data.init(element); + return new Result(data, data.getDependences()); } } - catch (IllegalAccessException iae) { - throw new RuntimeException(iae); - } - catch (InstantiationException ie) { - throw new RuntimeException(ie); - } - return new Result(null, element); } }, false);