// 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.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
///
/// A scope that can contain using declarations.
/// In C#, every file is a using scope, and every "namespace" declaration inside
/// the file is a nested using scope.
///
public interface IUsingScope : IFreezable
{
///
/// Gets the region of the using scope.
///
DomRegion Region { get; }
///
/// Gets the parent scope.
/// Returns null if this is a root scope.
///
IUsingScope Parent { get; }
///
/// Gets the usings in this using scope.
///
IList Usings { get; }
///
/// Gets the list of child scopes. Child scopes usually represent "namespace" declarations.
///
IList ChildScopes { get; }
///
/// Gets the name of the namespace represented by the using scope.
///
string NamespaceName { get; }
}
}