/// <summary> /// This method is redefined in order to get rid of the IsKindAllowed() check at the end. /// </summary> public override bool IsAvailable(IDataContext dataContext) { ISolution solution = dataContext.GetData(DataConstants.SOLUTION); if (solution == null) { return(false); } GeneratorManager generatorManager = GeneratorManager.GetInstance(solution); if (generatorManager == null) { return(false); } PsiLanguageType languageType = generatorManager.GetPsiLanguageFromContext(dataContext); if (languageType == null) { return(false); } var generatorContextFactory = LanguageManager.Instance.TryGetService <IGeneratorContextFactory>(languageType); return(generatorContextFactory != null); }