NestedTypeReference.cs
47 lines
| 1.2 KiB
| text/x-csharp
|
CSharpLexer
|
|
r289 | using System; | |
| using System.Text; | |||
| namespace Implab.ServiceHost.Unity { | |||
| public class NestedTypeReference : TypeReference { | |||
| readonly string m_name; | |||
| readonly int m_genericParametersCount; | |||
| public TypeReference DeclaringType { get; private set; } | |||
| public override string Name { | |||
| get { | |||
| return m_name; | |||
| } | |||
| } | |||
| public override string Namespace { | |||
| get { | |||
| return DeclaringType.Namespace; | |||
| } | |||
| } | |||
| public override int GenericParametersCount { | |||
| get { | |||
| return m_genericParametersCount; | |||
| } | |||
| } | |||
| internal NestedTypeReference(TypeReference declaringType, string name, int parametersCount) { | |||
| DeclaringType = declaringType; | |||
| m_name = name; | |||
| m_genericParametersCount = parametersCount; | |||
| } | |||
| internal override void Visit(TypeResolutionContext visitor) { | |||
| visitor.Visit(this); | |||
| } | |||
| internal override void WriteTypeName(StringBuilder builder) { | |||
| builder | |||
| .Append(DeclaringType) | |||
| .Append('+') | |||
| .Append(Name); | |||
| } | |||
| } | |||
| } |
