// 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;
using System.ComponentModel;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop.Parser;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.SharpDevelop.Dom
{
///
/// An NRefactory symbol as a model.
///
public interface ISymbolModel : INotifyPropertyChanged
{
///
/// Gets the name of the entity.
///
string Name { get; }
///
/// Gets the symbol kind of the entity.
///
SymbolKind SymbolKind { get; }
///
/// Gets the parent project that contains this entity.
/// May return null if the entity is not part of a project.
///
IProject ParentProject { get; }
///
/// Gets the region where this entity is defined.
///
DomRegion Region { get; }
}
}