// 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);
}
}