Mono.CSharp.CSharpCodeGenerator.GenerateConstructor C# (CSharp) Method

GenerateConstructor() protected method

protected GenerateConstructor ( CodeConstructor constructor, CodeTypeDeclaration declaration ) : void
constructor CodeConstructor
declaration CodeTypeDeclaration
return void
		protected override void GenerateConstructor (CodeConstructor constructor, CodeTypeDeclaration declaration)
		{
			if (IsCurrentDelegate || IsCurrentEnum || IsCurrentInterface) {
				return;
			}

			OutputAttributes (constructor.CustomAttributes, null, false);

			OutputMemberAccessModifier (constructor.Attributes);
			Output.Write (GetSafeName (CurrentTypeName) + "(");
			OutputParameters (constructor.Parameters);
			Output.Write (")");
			if (constructor.BaseConstructorArgs.Count > 0) {
				Output.WriteLine (" : ");
				Indent += 2;
				Output.Write ("base(");
				OutputExpressionList (constructor.BaseConstructorArgs);
				Output.Write (')');
				Indent -= 2;
			}
			if (constructor.ChainedConstructorArgs.Count > 0) {
				Output.WriteLine (" : ");
				Indent += 2;
				Output.Write("this(");
				OutputExpressionList (constructor.ChainedConstructorArgs);
				Output.Write(')');
				Indent -= 2;
			}
			OutputStartBrace ();
			Indent++;
			GenerateStatements (constructor.Statements);
			Indent--;
			Output.WriteLine ('}');
		}
CSharpCodeGenerator