src/Bicep.LangServer/CompilationManager/CompilationContext.cs (17 lines of code) (raw):

// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System.Collections.Immutable; using Bicep.Core.Semantics; using Bicep.Core.Syntax; namespace Bicep.LanguageServer.CompilationManager { /// <summary> /// Represents a compilation context that successfully produced a compilation /// (the compilation itself may have errors or warnings in the semantic model) /// </summary> public class CompilationContext : CompilationContextBase { public CompilationContext(Compilation compilation) // on a successful compilation, we can reuse the entry point file kind : base(compilation.SourceFileGrouping.EntryPoint.FileKind) { this.Compilation = compilation; } public Compilation Compilation { get; } public ProgramSyntax ProgramSyntax => Compilation.SourceFileGrouping.EntryPoint.ProgramSyntax; public ImmutableArray<int> LineStarts => Compilation.SourceFileGrouping.EntryPoint.LineStarts; } }