1 //---------------------------------------------------------------------
2 // <copyright file="ComplexTypeEmitter.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
13 using System.Data.Metadata.Edm;
14 using System.Data.EntityModel.SchemaObjectModel;
17 namespace System.Data.EntityModel.Emitters
20 /// Summary description for NestedTypeEmitter.
22 internal sealed class ComplexTypeEmitter : StructuredTypeEmitter
28 /// <param name="generator"></param>
29 /// <param name="nestedType"></param>
30 public ComplexTypeEmitter(ClientApiGenerator generator, ComplexType complexType)
31 : base(generator, complexType)
37 /// Apply the attributes to this type.
39 /// <param name="typeDecl">The declaration of the type that should have attributes added to it.</param>
40 protected override void EmitTypeAttributes( CodeTypeDeclaration typeDecl )
42 Generator.AttributeEmitter.EmitTypeAttributes( this, typeDecl );
43 base.EmitTypeAttributes( typeDecl );
46 #region Protected Properties
51 /// <returns></returns>
52 protected override CodeTypeReference GetBaseType()
54 CodeTypeReference baseType = base.GetBaseType();
57 baseType = TypeReference.ComplexTypeBaseClass;
62 protected override ReadOnlyMetadataCollection<EdmProperty> GetProperties()
64 return Item.Properties;
67 internal new ComplexType Item
71 return base.Item as ComplexType;