public IPsiSourceFileProperties GetPsiProperties( IPsiSourceFileProperties prevProperties, IProject project, IPsiSourceFileWithLocation sourceFile ) { var projectFile = sourceFile.ToProjectFile(); if (projectFile == null) { return(prevProperties); } // Solution can actually be null for invalid files. // Access to the component has to be safe because this is a shell component, // while IT4TargetFileChecker is a solution component, // so accessing it directly can cause an exception // if the daemon requests properties for a file after solution has been closed // ReSharper disable once ConstantConditionalAccessQualifier var checker = sourceFile.GetSolution()?.TryGetComponent <IT4TargetFileChecker>(); if (checker == null) { return(prevProperties); } if (checker.IsPreprocessResult(projectFile)) { return(T4PreprocessResultProjectFileProperties.Instance); } return(prevProperties); }
public static IStylerOptions FromSettings( IContextBoundSettingsStoreLive settings, [CanBeNull] ISolution solution, [CanBeNull] IProject project, [CanBeNull] IPsiSourceFileWithLocation psiSourceFileWithLocation) { return(FromSettings( settings: settings, solution: solution, projectPath: project?.ProjectFileLocation?.FullPath, sourceFilePath: psiSourceFileWithLocation?.Location.FullPath)); }
public IPsiSourceFileProperties GetPsiProperties( IPsiSourceFileProperties prevProperties, IProject project, IPsiSourceFileWithLocation sourceFile ) { var projectFile = sourceFile.ToProjectFile(); if (projectFile == null) { return(prevProperties); } var checker = sourceFile.GetSolution().GetComponent <IT4TargetFileChecker>(); if (checker.IsPreprocessResult(projectFile)) { return(T4PreprocessResultProjectFileProperties.Instance); } return(prevProperties); }