예제 #1
0
 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);
 }
예제 #2
0
 internal override void EndGrouping()
 {
     this.propertyBuilder.EndCodeGen();
     this.propertyBuilderStack.Pop();
     if (this.propertyBuilderStack.Count > 0)
     {
         this.propertyBuilder = this.propertyBuilderStack.Peek();
     }
 }
예제 #3
0
 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();
     }
 }
예제 #4
0
 internal override void CreateAttributeProperty(ClrBasePropertyInfo propertyInfo, List<ClrAnnotation> annotations) {
     propertyBuilder = TypePropertyBuilder.Create(decl, declItemsInfo);
     propertyBuilder.GenerateCode(propertyInfo, annotations);
 }
예제 #5
0
 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
     }
 }
예제 #6
0
 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);
 }
예제 #7
0
        // 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();
            }
         

        }
예제 #8
0
 internal override void CreateAttributeProperty(ClrBasePropertyInfo propertyInfo, List <ClrAnnotation> annotations)
 {
     this.propertyBuilder = TypePropertyBuilder.Create(this.decl, this.declItemsInfo);
     this.propertyBuilder.GenerateCode(propertyInfo, annotations);
 }