예제 #1
0
 internal QualifiedTypeSignature(TypeSignature qualifier, string name)
 {
     Debug.Assert(!string.IsNullOrEmpty(name));
     Qualifier = qualifier;
     Name = name;
 }
예제 #2
0
 internal ArrayTypeSignature(TypeSignature elementType, int rank)
 {
     Debug.Assert(elementType != null);
     ElementType = elementType;
     Rank = rank;
 }
예제 #3
0
 internal PointerTypeSignature(TypeSignature pointedAtType)
 {
     Debug.Assert(pointedAtType != null);
     PointedAtType = pointedAtType;
 }
예제 #4
0
 private static TypeSignature CreateTypeSignature(
     TypeSignature qualifier,
     string typeName,
     ImmutableArray<TypeSignature> typeArguments,
     ref int typeArgumentOffset)
 {
     int arity;
     typeName = RemoveAritySeparatorIfAny(typeName, out arity);
     var qualifiedName = new QualifiedTypeSignature(qualifier, typeName);
     if (arity == 0)
     {
         return qualifiedName;
     }
     typeArguments = ImmutableArray.Create(typeArguments, typeArgumentOffset, arity);
     typeArgumentOffset += arity;
     return new GenericTypeSignature(qualifiedName, typeArguments);
 }
예제 #5
0
 internal ArrayTypeSignature(TypeSignature elementType, int rank)
 {
     Debug.Assert(elementType != null);
     ElementType = elementType;
     Rank        = rank;
 }
예제 #6
0
 internal QualifiedTypeSignature(TypeSignature qualifier, string name)
 {
     Debug.Assert(!string.IsNullOrEmpty(name));
     Qualifier = qualifier;
     Name      = name;
 }
예제 #7
0
 internal PointerTypeSignature(TypeSignature pointedAtType)
 {
     Debug.Assert(pointedAtType != null);
     PointedAtType = pointedAtType;
 }