本文整理汇总了C#中Mono.CSharp.RootNamespace类的典型用法代码示例。如果您正苦于以下问题:C# RootNamespace类的具体用法?C# RootNamespace怎么用?C# RootNamespace使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RootNamespace类属于Mono.CSharp命名空间,在下文中一共展示了RootNamespace类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ModuleContainer
public ModuleContainer (CompilerContext context)
: base (null, null, MemberName.Null, null, 0)
{
this.context = context;
caching_flags &= ~(Flags.Obsolete_Undetected | Flags.Excluded_Undetected);
types = new List<TypeContainer> ();
anonymous_types = new Dictionary<int, List<AnonymousTypeClass>> ();
global_ns = new GlobalRootNamespace ();
alias_ns = new Dictionary<string, RootNamespace> ();
}
示例2: DefineRootNamespace
public static void DefineRootNamespace (string alias, Assembly assembly)
{
if (alias == "global") {
NamespaceEntry.Error_GlobalNamespaceRedefined (Location.Null);
return;
}
RootNamespace retval = GetRootNamespace (alias);
if (retval == null) {
retval = new RootNamespace (alias);
root_namespaces.Add (alias, retval);
}
retval.AddAssemblyReference (assembly);
}
示例3: Namespace
/// <summary>
/// Constructor Takes the current namespace and the
/// name. This is bootstrapped with parent == null
/// and name = ""
/// </summary>
public Namespace(Namespace parent, string name)
{
// Expression members.
this.eclass = ExprClass.Namespace;
this.Type = InternalType.FakeInternalType;
this.loc = Location.Null;
this.parent = parent;
if (parent != null)
this.root = parent.root;
else
this.root = this as RootNamespace;
if (this.root == null)
throw new InternalErrorException ("Root namespaces must be created using RootNamespace");
string pname = parent != null ? parent.fullname : "";
if (pname == "")
fullname = name;
else
fullname = parent.fullname + "." + name;
if (fullname == null)
throw new InternalErrorException ("Namespace has a null fullname");
if (parent != null && parent.MemberName != MemberName.Null)
MemberName = new MemberName (parent.MemberName, name);
else if (name.Length == 0)
MemberName = MemberName.Null;
else
MemberName = new MemberName (name);
namespaces = new Dictionary<string, Namespace> ();
cached_types = new Dictionary<string, TypeExpr> ();
root.RegisterNamespace (this);
}
示例4: CreateRootNamespace
//
// Creates alias global namespace
//
public RootNamespace CreateRootNamespace (string alias)
{
if (alias == global_ns.Alias) {
NamespaceEntry.Error_GlobalNamespaceRedefined (Location.Null, Report);
return global_ns;
}
RootNamespace rn;
if (!alias_ns.TryGetValue (alias, out rn)) {
rn = new RootNamespace (alias);
alias_ns.Add (alias, rn);
}
return rn;
}
示例5: DefineRootNamespace
public void DefineRootNamespace (string alias, Assembly assembly, CompilerContext ctx)
{
if (alias == alias_name) {
NamespaceEntry.Error_GlobalNamespaceRedefined (Location.Null, ctx.Report);
return;
}
RootNamespace retval = GetRootNamespace (alias);
if (retval == null) {
retval = new RootNamespace (alias);
root_namespaces.Add (alias, retval);
}
retval.AddAssemblyReference (assembly);
}
示例6: ModuleContainer
public ModuleContainer (CompilerContext context)
: base (null, MemberName.Null, null, 0)
{
this.context = context;
caching_flags &= ~(Flags.Obsolete_Undetected | Flags.Excluded_Undetected);
containers = new List<TypeContainer> ();
anonymous_types = new Dictionary<int, List<AnonymousTypeClass>> ();
global_ns = new GlobalRootNamespace ();
alias_ns = new Dictionary<string, RootNamespace> ();
array_types = new Dictionary<ArrayContainer.TypeRankPair, ArrayContainer> ();
pointer_types = new Dictionary<TypeSpec, PointerContainer> ();
reference_types = new Dictionary<TypeSpec, ReferenceContainer> ();
attrs_cache = new Dictionary<TypeSpec, MethodSpec> ();
awaiters = new Dictionary<TypeSpec, AwaiterDefinition> ();
}
示例7: ImportModule
public ImportedModuleDefinition ImportModule (Module module, RootNamespace targetNamespace)
{
var module_definition = new ImportedModuleDefinition (module, this);
module_definition.ReadAttributes ();
Type extension_type = HasExtensionAttribute (CustomAttributeData.GetCustomAttributes (module));
Type[] all_types;
try {
all_types = module.GetTypes ();
} catch (ReflectionTypeLoadException e) {
all_types = e.Types;
}
ImportTypes (all_types, targetNamespace, extension_type);
return module_definition;
}