public static bool TryGetSemanticModel(this ITextSnapshot snapshot, CancellationToken cancellationToken, out SemanticModel semanticModel) { if (HlslToolsPackage.Instance != null && !HlslToolsPackage.Instance.Options.AdvancedOptions.EnableIntelliSense) { semanticModel = null; return(false); } semanticModel = CachedSemanticModels.GetValue(snapshot, key => { try { var syntaxTree = key.GetSyntaxTree(cancellationToken); var compilation = new Compilation.Compilation(syntaxTree); return(compilation.GetSemanticModel(cancellationToken)); } catch (OperationCanceledException) { return(null); } catch (Exception ex) { Logger.Log($"Failed to create semantic model: {ex}"); return(null); } }); return(semanticModel != null); }
public static SemanticModel GetSemanticModel(this ITextSnapshot snapshot, CancellationToken cancellationToken) { var syntaxTree = snapshot.GetSyntaxTree(cancellationToken); var compilation = new Compilation.Compilation(syntaxTree); return(compilation.GetSemanticModel()); }
public static bool TryGetSemanticModel(this ITextSnapshot snapshot, CancellationToken cancellationToken, out SemanticModel semanticModel) { if (HlslToolsPackage.Instance != null && !HlslToolsPackage.Instance.Options.AdvancedOptions.EnableIntelliSense) { semanticModel = null; return false; } semanticModel = CachedSemanticModels.GetValue(snapshot, key => { try { var syntaxTree = key.GetSyntaxTree(cancellationToken); var compilation = new Compilation.Compilation(syntaxTree); return compilation.GetSemanticModel(cancellationToken); } catch (OperationCanceledException) { return null; } catch (Exception ex) { Logger.Log($"Failed to create semantic model: {ex}"); return null; } }); return semanticModel != null; }
public static SemanticModel GetSemanticModel(this ITextSnapshot snapshot, VisualStudioSourceTextFactory sourceTextFactory, CancellationToken cancellationToken) { return CachedSemanticModels.GetValue(snapshot, key => { var syntaxTree = key.GetSyntaxTree(sourceTextFactory, cancellationToken); var compilation = new Compilation.Compilation(syntaxTree); return compilation.GetSemanticModel(); }); }
public static SemanticModel GetSemanticModel(this ITextSnapshot snapshot, CancellationToken cancellationToken) { var syntaxTree = snapshot.GetSyntaxTree(cancellationToken); var compilation = new Compilation.Compilation(syntaxTree); return compilation.GetSemanticModel(); }