Skip to content

Commit f52a913

Browse files
author
Matthias Radestock
committed
meerge bug20855 into default
2 parents b1b43aa + d76b900 commit f52a913

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

src/apigen/Apigen.cs

100644100755
Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,10 @@ public static string MangleMethodClass(AmqpClass c, AmqpMethod m) {
166166
public int majorVersion;
167167
public int minorVersion;
168168
public string apiName;
169+
public bool m_emitComments = false;
169170

170171
public Type modelType = typeof(RabbitMQ.Client.Impl.IFullModel);
171-
public ArrayList modelTypes = new ArrayList();
172+
public ArrayList modelTypes = new ArrayList();
172173
public ArrayList constants = new ArrayList();
173174
public ArrayList classes = new ArrayList();
174175
public Hashtable domains = new Hashtable();
@@ -177,7 +178,7 @@ public static string MangleMethodClass(AmqpClass c, AmqpMethod m) {
177178
public static Hashtable primitiveTypeFlagMap;
178179
static Apigen() {
179180
primitiveTypeMap = new Hashtable();
180-
primitiveTypeFlagMap = new Hashtable();
181+
primitiveTypeFlagMap = new Hashtable();
181182
InitPrimitiveType("octet", "byte", false);
182183
InitPrimitiveType("shortstr", "string", true);
183184
InitPrimitiveType("longstr", "byte[]", true);
@@ -206,6 +207,8 @@ public void HandleOption(string opt) {
206207
versionOverridden = true;
207208
majorVersion = int.Parse(parts[0]);
208209
minorVersion = int.Parse(parts[1]);
210+
} else if (opt == "/c") {
211+
m_emitComments = true;
209212
} else {
210213
Console.Error.WriteLine("Unsupported command-line option: " + opt);
211214
Usage();
@@ -333,6 +336,11 @@ public void Emit(object o) {
333336
public void EmitLine(object o) {
334337
this.outputFile.WriteLine(o);
335338
}
339+
340+
public void EmitSpecComment(object o) {
341+
if (m_emitComments)
342+
EmitLine(o);
343+
}
336344

337345
public void EmitPrelude() {
338346
EmitLine("// Autogenerated code. Do not edit.");
@@ -384,10 +392,10 @@ public void EmitClassMethods(AmqpClass c) {
384392
foreach (AmqpMethod m in c.Methods) {
385393
EmitAutogeneratedSummary(" ",
386394
"AMQP specification method \""+c.Name+"."+m.Name+"\".");
387-
EmitLine(m.DocumentationCommentVariant(" ", "remarks"));
395+
EmitSpecComment(m.DocumentationCommentVariant(" ", "remarks"));
388396
EmitLine(" public interface I"+MangleMethodClass(c, m)+": IMethod {");
389397
foreach (AmqpField f in m.Fields) {
390-
EmitLine(f.DocumentationComment(" "));
398+
EmitSpecComment(f.DocumentationComment(" "));
391399
EmitLine(" "+MapDomain(f.Domain)+" "+MangleClass(f.Name)+" { get; }");
392400
}
393401
EmitLine(" }");
@@ -426,7 +434,7 @@ public void EmitClassProperties(AmqpClass c) {
426434
EmitAutogeneratedSummary(" ",
427435
"AMQP specification content header properties for "+
428436
"content class \""+c.Name+"\"");
429-
EmitLine(c.DocumentationCommentVariant(" ", "remarks"));
437+
EmitSpecComment(c.DocumentationCommentVariant(" ", "remarks"));
430438
EmitLine(" public class "+MangleClass(c.Name)
431439
+"Properties: "+propertiesBaseClass+" {");
432440
foreach (AmqpField f in c.Fields) {
@@ -440,7 +448,7 @@ public void EmitClassProperties(AmqpClass c) {
440448
}
441449
EmitLine("");
442450
foreach (AmqpField f in c.Fields) {
443-
EmitLine(f.DocumentationComment(" ", "@label"));
451+
EmitSpecComment(f.DocumentationComment(" ", "@label"));
444452
EmitLine(" public "+maybeOverride+MapDomain(f.Domain)+" "+MangleClass(f.Name)+" {");
445453
EmitLine(" get {");
446454
EmitLine(" return m_"+MangleMethod(f.Name)+";");

0 commit comments

Comments
 (0)