+ AssignPropertiesFromResources (builder, parser.BaseType, parser.MetaResourceKey);
+
+ if ((!isTemplate || builder is RootBuilder) && !String.IsNullOrEmpty (builder.GetAttribute ("meta:resourcekey")))
+ CreateAssignStatementFromAttribute (builder, "meta:resourcekey");
+
+ if (!childrenAsProperties && typeof (Control).IsAssignableFrom (builder.ControlType))
+ builder.Method.Statements.Add (new CodeMethodReturnStatement (ctrlVar));
+
+ builder.ProcessGeneratedCode (CompileUnit, BaseType, DerivedType, builder.Method, builder.DataBindingMethod);
+ }
+
+ protected override void AddStatementsToConstructor (CodeConstructor ctor)
+ {
+ if (masterPageContentPlaceHolders == null || masterPageContentPlaceHolders.Count == 0)
+ return;
+
+ var ilist = new CodeVariableDeclarationStatement ();
+ ilist.Name = "__contentPlaceHolders";
+ ilist.Type = new CodeTypeReference (typeof (IList));
+ ilist.InitExpression = new CodePropertyReferenceExpression (thisRef, "ContentPlaceHolders");
+
+ var ilistRef = new CodeVariableReferenceExpression ("__contentPlaceHolders");
+ CodeStatementCollection statements = ctor.Statements;
+ statements.Add (ilist);
+
+ CodeMethodInvokeExpression mcall;
+ foreach (string id in masterPageContentPlaceHolders) {
+ mcall = new CodeMethodInvokeExpression (ilistRef, "Add");
+ mcall.Parameters.Add (new CodePrimitiveExpression (id.ToLowerInvariant ()));
+ statements.Add (mcall);
+ }