internal override void StartGrouping(GroupingInfo groupingInfo) { this.InitializeTables(); this.propertyBuilder = TypePropertyBuilder.Create(groupingInfo, this.decl, this.declItemsInfo); this.propertyBuilder.StartCodeGen(); this.propertyBuilderStack.Push(this.propertyBuilder); }
internal override void EndGrouping() { this.propertyBuilder.EndCodeGen(); this.propertyBuilderStack.Pop(); if (this.propertyBuilderStack.Count > 0) { this.propertyBuilder = this.propertyBuilderStack.Peek(); } }
protected new void InnerInit() { base.InnerInit(); this.propertyBuilder = null; if (this.propertyBuilderStack != null) { this.propertyBuilderStack.Clear(); } if (this.propertyDictionaryAddStatements != null) { this.propertyDictionaryAddStatements.Clear(); } if (this.declItemsInfo != null) { this.declItemsInfo.Init(); } else { this.declItemsInfo = new CodeTypeDeclItems(); } }
internal override void CreateAttributeProperty(ClrBasePropertyInfo propertyInfo, List<ClrAnnotation> annotations) { propertyBuilder = TypePropertyBuilder.Create(decl, declItemsInfo); propertyBuilder.GenerateCode(propertyInfo, annotations); }
internal override void EndGrouping() { propertyBuilder.EndCodeGen(); propertyBuilderStack.Pop(); //Remove current property builder if (propertyBuilderStack.Count > 0) { propertyBuilder = propertyBuilderStack.Peek(); //Re-set property builder to parent group's property builder } }
internal override void StartGrouping(GroupingInfo groupingInfo) { InitializeTables(); propertyBuilder = TypePropertyBuilder.Create(groupingInfo, decl, declItemsInfo); propertyBuilder.StartCodeGen(); //Start the group's code gen, like setting up functional const etc propertyBuilderStack.Push(propertyBuilder); }
// InnerInit is a non-virtual function to // prevent virtual methods from being called // in the call stack of the constructor protected new void InnerInit() { base.InnerInit(); propertyBuilder = null; if (propertyBuilderStack != null) { propertyBuilderStack.Clear(); } if (propertyDictionaryAddStatements != null) { propertyDictionaryAddStatements.Clear(); } if (declItemsInfo == null) { declItemsInfo = new CodeTypeDeclItems(); } else { declItemsInfo.Init(); } }
internal override void CreateAttributeProperty(ClrBasePropertyInfo propertyInfo, List <ClrAnnotation> annotations) { this.propertyBuilder = TypePropertyBuilder.Create(this.decl, this.declItemsInfo); this.propertyBuilder.GenerateCode(propertyInfo, annotations); }