Example #1
0
		public static void Shortify(CodeTypeReference typeReference, Type type, CodeNamespaceImportCollection imports)
		{
			if (typeReference.ArrayRank > 0)
			{
				Shortify(typeReference.ArrayElementType, type, imports);
				return;
			}

			if (type.Namespace != null && imports.Cast<CodeNamespaceImport>()
				.Any(cni => cni.Namespace == type.Namespace))
			{
				var prefix = type.Namespace + '.';

				if (prefix != null)
				{
					var pos = typeReference.BaseType.IndexOf(prefix);
					if (pos == 0)
					{
						typeReference.BaseType = typeReference.BaseType.Substring(prefix.Length);
					}
				}
			}
		}
 /// <summary>
 /// Visits a <see cref="CodeNamespaceImportCollection"/>.
 /// </summary>
 /// <param name="codeNamespaceImportCollection">The <see cref="CodeNamespaceImportCollection"/> to visit.</param>
 protected virtual void VisitCodeNamespaceImportCollection(CodeNamespaceImportCollection codeNamespaceImportCollection)
 {
     // Visit all of the CodeNamespaceImport items in the collection.
     foreach (CodeNamespaceImport item in codeNamespaceImportCollection.Cast<CodeNamespaceImport>())
     {
         this.VisitCodeNamespaceImport(item);
     }
 }