// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System.Collections.Generic; namespace ICSharpCode.SharpDevelop.Dom { public interface ICompilationUnit : IFreezable { string FileName { get; set; } bool ErrorsDuringCompile { get; set; } object Tag { get; set; } IProjectContent ProjectContent { get; } /// /// Gets the language this compilation unit was written in. /// LanguageProperties Language { get; } /// /// Gets the main using scope of the compilation unit. /// That scope usually represents the root namespace. /// IUsingScope UsingScope { get; } IList Attributes { get; } IList Classes { get; } IList MiscComments { get; } IList DokuComments { get; } IList TagComments { get; } IList FoldingRegions { get; } /// /// Returns the innermost class in which the carret currently is, returns null /// if the carret is outside any class boundaries. /// IClass GetInnermostClass(int caretLine, int caretColumn); } }