NamespaceTypeName/*?*/ ParseNamespaceTypeName() { if (this.CurrentTypeNameTokenKind != TypeNameTokenKind.Identifier) { return null; } IName lastName = this.CurrentIdentifierInfo; NamespaceName/*?*/ currNsp = null; this.NextToken(false); while (this.CurrentTypeNameTokenKind == TypeNameTokenKind.Dot) { this.NextToken(false); if (this.CurrentTypeNameTokenKind != TypeNameTokenKind.Identifier) { return null; } currNsp = new NamespaceName(this.NameTable, currNsp, lastName); lastName = this.CurrentIdentifierInfo; this.NextToken(false); } return new NamespaceTypeName(this.NameTable, currNsp, lastName); }
internal NamespaceTypeName(INameTable nameTable, NamespaceName/*?*/ namespaceName, IName name) { this.NamespaceName = namespaceName; this.Name = name; string nameStr = null; TypeCache.SplitMangledTypeName(name.Value, out nameStr, out this.genericParameterCount); if (this.genericParameterCount > 0) this.unmanagledTypeName = nameTable.GetNameFor(nameStr); else this.unmanagledTypeName = name; }
private NamespaceTypeName(INameTable nameTable, NamespaceName/*?*/ namespaceName, IName name, IName unmangledTypeName) { this.NamespaceName = namespaceName; this.Name = name; this.unmanagledTypeName = unmangledTypeName; }
internal NamespaceName(INameTable nameTable, NamespaceName/*?*/ parentNamespaceName, IName name) { this.ParentNamespaceName = parentNamespaceName; this.Name = name; if (parentNamespaceName == null) this.FullyQualifiedName = name; else this.FullyQualifiedName = nameTable.GetNameFor(parentNamespaceName.FullyQualifiedName.Value + "." + name); }