public void loadState(final Element element, final boolean mergeWithOriginalAndCompile) { final THashMap<String, LanguageInjectionSupport> supports = new THashMap<String, LanguageInjectionSupport>(); for (LanguageInjectionSupport support : Extensions.getExtensions(LanguageInjectionSupport.EP_NAME)) { supports.put(support.getId(), support); } loadStateOld( element, supports.get(LanguageInjectionSupport.XML_SUPPORT_ID), supports.get(LanguageInjectionSupport.JAVA_SUPPORT_ID)); for (Element child : (List<Element>) element.getChildren("injection")) { final String key = child.getAttributeValue("injector-id"); final LanguageInjectionSupport support = supports.get(key); final BaseInjection injection = support == null ? new BaseInjection(key) : support.createInjection(child); injection.loadState(child); myInjections.get(key).add(injection); } setInstrumentationType(JDOMExternalizerUtil.readField(element, INSTRUMENTATION_TYPE_NAME)); setLanguageAnnotation(JDOMExternalizerUtil.readField(element, LANGUAGE_ANNOTATION_NAME)); setPatternAnnotation(JDOMExternalizerUtil.readField(element, PATTERN_ANNOTATION_NAME)); setSubstAnnotation(JDOMExternalizerUtil.readField(element, SUBST_ANNOTATION_NAME)); setResolveReferences(readBoolean(element, RESOLVE_REFERENCES, true)); setUseDfaIfAvailable(readBoolean(element, USE_DFA_IF_AVAILABLE, false)); setIncludeUncomputablesAsLiterals( readBoolean(element, INCLUDE_UNCOMPUTABLES_AS_LITERALS, false)); if (mergeWithOriginalAndCompile) { mergeWithDefaultConfiguration(); for (String supportId : InjectorUtils.getActiveInjectionSupportIds()) { for (BaseInjection injection : getInjections(supportId)) { injection.initializePlaces(true); } } } }
public void setInstrumentationType(@Nullable String type) { if (type != null) { setInstrumentationType(InstrumentationType.valueOf(type)); } }