Xin Zhang / azure-iot-c-sdk-f767zi

Dependents:   samplemqtt

Committer:
XinZhangMS
Date:
Thu Aug 23 06:52:14 2018 +0000
Revision:
0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
XinZhangMS 0:f7f1f0d76dd6 1 // ------------------------------------------------------------------------------
XinZhangMS 0:f7f1f0d76dd6 2 // <auto-generated>
XinZhangMS 0:f7f1f0d76dd6 3 // This code was generated by a tool.
XinZhangMS 0:f7f1f0d76dd6 4 // Runtime Version: 15.0.0.0
XinZhangMS 0:f7f1f0d76dd6 5 //
XinZhangMS 0:f7f1f0d76dd6 6 // Changes to this file may cause incorrect behavior and will be lost if
XinZhangMS 0:f7f1f0d76dd6 7 // the code is regenerated.
XinZhangMS 0:f7f1f0d76dd6 8 // </auto-generated>
XinZhangMS 0:f7f1f0d76dd6 9 // ------------------------------------------------------------------------------
XinZhangMS 0:f7f1f0d76dd6 10 namespace amqplib_generator
XinZhangMS 0:f7f1f0d76dd6 11 {
XinZhangMS 0:f7f1f0d76dd6 12 using System.Linq;
XinZhangMS 0:f7f1f0d76dd6 13 using System.Text;
XinZhangMS 0:f7f1f0d76dd6 14 using System.Collections.Generic;
XinZhangMS 0:f7f1f0d76dd6 15 using amqplib_generator;
XinZhangMS 0:f7f1f0d76dd6 16 using System;
XinZhangMS 0:f7f1f0d76dd6 17
XinZhangMS 0:f7f1f0d76dd6 18 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 19 /// Class to produce the template output
XinZhangMS 0:f7f1f0d76dd6 20 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 21
XinZhangMS 0:f7f1f0d76dd6 22 #line 1 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 23 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")]
XinZhangMS 0:f7f1f0d76dd6 24 public partial class amqp_definitions_h : amqp_definitions_hBase
XinZhangMS 0:f7f1f0d76dd6 25 {
XinZhangMS 0:f7f1f0d76dd6 26 #line hidden
XinZhangMS 0:f7f1f0d76dd6 27 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 28 /// Create the template output
XinZhangMS 0:f7f1f0d76dd6 29 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 30 public virtual string TransformText()
XinZhangMS 0:f7f1f0d76dd6 31 {
XinZhangMS 0:f7f1f0d76dd6 32 this.Write("\r\n");
XinZhangMS 0:f7f1f0d76dd6 33
XinZhangMS 0:f7f1f0d76dd6 34 #line 8 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 35 amqp amqp = Program.LoadAMQPTypes();
XinZhangMS 0:f7f1f0d76dd6 36
XinZhangMS 0:f7f1f0d76dd6 37 #line default
XinZhangMS 0:f7f1f0d76dd6 38 #line hidden
XinZhangMS 0:f7f1f0d76dd6 39 this.Write(@"
XinZhangMS 0:f7f1f0d76dd6 40 // Copyright (c) Microsoft. All rights reserved.
XinZhangMS 0:f7f1f0d76dd6 41 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
XinZhangMS 0:f7f1f0d76dd6 42
XinZhangMS 0:f7f1f0d76dd6 43 // This file is generated. DO NOT EDIT it manually.
XinZhangMS 0:f7f1f0d76dd6 44 // The generator that produces it is located at /uamqp_generator/uamqp_generator.sln
XinZhangMS 0:f7f1f0d76dd6 45
XinZhangMS 0:f7f1f0d76dd6 46 #ifndef AMQP_DEFINITIONS_H
XinZhangMS 0:f7f1f0d76dd6 47 #define AMQP_DEFINITIONS_H
XinZhangMS 0:f7f1f0d76dd6 48
XinZhangMS 0:f7f1f0d76dd6 49 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 50 #include <cstdint>
XinZhangMS 0:f7f1f0d76dd6 51 extern ""C"" {
XinZhangMS 0:f7f1f0d76dd6 52 #else
XinZhangMS 0:f7f1f0d76dd6 53 #include <stdint.h>
XinZhangMS 0:f7f1f0d76dd6 54 #include <stdbool.h>
XinZhangMS 0:f7f1f0d76dd6 55 #endif
XinZhangMS 0:f7f1f0d76dd6 56
XinZhangMS 0:f7f1f0d76dd6 57 #include ""azure_uamqp_c/amqpvalue.h""
XinZhangMS 0:f7f1f0d76dd6 58 #include ""azure_c_shared_utility/umock_c_prod.h""
XinZhangMS 0:f7f1f0d76dd6 59
XinZhangMS 0:f7f1f0d76dd6 60 ");
XinZhangMS 0:f7f1f0d76dd6 61
XinZhangMS 0:f7f1f0d76dd6 62 #line 30 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 63 foreach (section section in amqp.Items.Where(item => item is section))
XinZhangMS 0:f7f1f0d76dd6 64
XinZhangMS 0:f7f1f0d76dd6 65 #line default
XinZhangMS 0:f7f1f0d76dd6 66 #line hidden
XinZhangMS 0:f7f1f0d76dd6 67
XinZhangMS 0:f7f1f0d76dd6 68 #line 31 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 69 {
XinZhangMS 0:f7f1f0d76dd6 70
XinZhangMS 0:f7f1f0d76dd6 71 #line default
XinZhangMS 0:f7f1f0d76dd6 72 #line hidden
XinZhangMS 0:f7f1f0d76dd6 73
XinZhangMS 0:f7f1f0d76dd6 74 #line 32 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 75 List<type> types = new List<type>();
XinZhangMS 0:f7f1f0d76dd6 76
XinZhangMS 0:f7f1f0d76dd6 77 #line default
XinZhangMS 0:f7f1f0d76dd6 78 #line hidden
XinZhangMS 0:f7f1f0d76dd6 79
XinZhangMS 0:f7f1f0d76dd6 80 #line 33 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 81 types.AddRange(section.Items.Where(item => item is type).Cast<type>());
XinZhangMS 0:f7f1f0d76dd6 82
XinZhangMS 0:f7f1f0d76dd6 83 #line default
XinZhangMS 0:f7f1f0d76dd6 84 #line hidden
XinZhangMS 0:f7f1f0d76dd6 85
XinZhangMS 0:f7f1f0d76dd6 86 #line 34 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 87 foreach (type type in types)
XinZhangMS 0:f7f1f0d76dd6 88
XinZhangMS 0:f7f1f0d76dd6 89 #line default
XinZhangMS 0:f7f1f0d76dd6 90 #line hidden
XinZhangMS 0:f7f1f0d76dd6 91
XinZhangMS 0:f7f1f0d76dd6 92 #line 35 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 93 {
XinZhangMS 0:f7f1f0d76dd6 94
XinZhangMS 0:f7f1f0d76dd6 95 #line default
XinZhangMS 0:f7f1f0d76dd6 96 #line hidden
XinZhangMS 0:f7f1f0d76dd6 97
XinZhangMS 0:f7f1f0d76dd6 98 #line 36 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 99 string type_name = type.name.ToLower().Replace('-', '_');
XinZhangMS 0:f7f1f0d76dd6 100
XinZhangMS 0:f7f1f0d76dd6 101 #line default
XinZhangMS 0:f7f1f0d76dd6 102 #line hidden
XinZhangMS 0:f7f1f0d76dd6 103 this.Write("#include \"");
XinZhangMS 0:f7f1f0d76dd6 104
XinZhangMS 0:f7f1f0d76dd6 105 #line 37 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 106 this.Write(this.ToStringHelper.ToStringWithCulture($"azure_uamqp_c/amqp_definitions_{type_name}.h"));
XinZhangMS 0:f7f1f0d76dd6 107
XinZhangMS 0:f7f1f0d76dd6 108 #line default
XinZhangMS 0:f7f1f0d76dd6 109 #line hidden
XinZhangMS 0:f7f1f0d76dd6 110 this.Write("\"\r\n");
XinZhangMS 0:f7f1f0d76dd6 111
XinZhangMS 0:f7f1f0d76dd6 112 #line 38 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 113 }
XinZhangMS 0:f7f1f0d76dd6 114
XinZhangMS 0:f7f1f0d76dd6 115 #line default
XinZhangMS 0:f7f1f0d76dd6 116 #line hidden
XinZhangMS 0:f7f1f0d76dd6 117
XinZhangMS 0:f7f1f0d76dd6 118 #line 39 "G:\repos\azure-uamqp-c\uamqp_generator\amqp_definitions_h.tt"
XinZhangMS 0:f7f1f0d76dd6 119 }
XinZhangMS 0:f7f1f0d76dd6 120
XinZhangMS 0:f7f1f0d76dd6 121 #line default
XinZhangMS 0:f7f1f0d76dd6 122 #line hidden
XinZhangMS 0:f7f1f0d76dd6 123 this.Write("\r\n#ifdef __cplusplus\r\n}\r\n#endif\r\n\r\n#endif /* AMQP_DEFINITIONS_H */\r\n");
XinZhangMS 0:f7f1f0d76dd6 124 return this.GenerationEnvironment.ToString();
XinZhangMS 0:f7f1f0d76dd6 125 }
XinZhangMS 0:f7f1f0d76dd6 126 }
XinZhangMS 0:f7f1f0d76dd6 127
XinZhangMS 0:f7f1f0d76dd6 128 #line default
XinZhangMS 0:f7f1f0d76dd6 129 #line hidden
XinZhangMS 0:f7f1f0d76dd6 130 #region Base class
XinZhangMS 0:f7f1f0d76dd6 131 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 132 /// Base class for this transformation
XinZhangMS 0:f7f1f0d76dd6 133 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 134 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "15.0.0.0")]
XinZhangMS 0:f7f1f0d76dd6 135 public class amqp_definitions_hBase
XinZhangMS 0:f7f1f0d76dd6 136 {
XinZhangMS 0:f7f1f0d76dd6 137 #region Fields
XinZhangMS 0:f7f1f0d76dd6 138 private global::System.Text.StringBuilder generationEnvironmentField;
XinZhangMS 0:f7f1f0d76dd6 139 private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField;
XinZhangMS 0:f7f1f0d76dd6 140 private global::System.Collections.Generic.List<int> indentLengthsField;
XinZhangMS 0:f7f1f0d76dd6 141 private string currentIndentField = "";
XinZhangMS 0:f7f1f0d76dd6 142 private bool endsWithNewline;
XinZhangMS 0:f7f1f0d76dd6 143 private global::System.Collections.Generic.IDictionary<string, object> sessionField;
XinZhangMS 0:f7f1f0d76dd6 144 #endregion
XinZhangMS 0:f7f1f0d76dd6 145 #region Properties
XinZhangMS 0:f7f1f0d76dd6 146 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 147 /// The string builder that generation-time code is using to assemble generated output
XinZhangMS 0:f7f1f0d76dd6 148 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 149 protected System.Text.StringBuilder GenerationEnvironment
XinZhangMS 0:f7f1f0d76dd6 150 {
XinZhangMS 0:f7f1f0d76dd6 151 get
XinZhangMS 0:f7f1f0d76dd6 152 {
XinZhangMS 0:f7f1f0d76dd6 153 if ((this.generationEnvironmentField == null))
XinZhangMS 0:f7f1f0d76dd6 154 {
XinZhangMS 0:f7f1f0d76dd6 155 this.generationEnvironmentField = new global::System.Text.StringBuilder();
XinZhangMS 0:f7f1f0d76dd6 156 }
XinZhangMS 0:f7f1f0d76dd6 157 return this.generationEnvironmentField;
XinZhangMS 0:f7f1f0d76dd6 158 }
XinZhangMS 0:f7f1f0d76dd6 159 set
XinZhangMS 0:f7f1f0d76dd6 160 {
XinZhangMS 0:f7f1f0d76dd6 161 this.generationEnvironmentField = value;
XinZhangMS 0:f7f1f0d76dd6 162 }
XinZhangMS 0:f7f1f0d76dd6 163 }
XinZhangMS 0:f7f1f0d76dd6 164 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 165 /// The error collection for the generation process
XinZhangMS 0:f7f1f0d76dd6 166 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 167 public System.CodeDom.Compiler.CompilerErrorCollection Errors
XinZhangMS 0:f7f1f0d76dd6 168 {
XinZhangMS 0:f7f1f0d76dd6 169 get
XinZhangMS 0:f7f1f0d76dd6 170 {
XinZhangMS 0:f7f1f0d76dd6 171 if ((this.errorsField == null))
XinZhangMS 0:f7f1f0d76dd6 172 {
XinZhangMS 0:f7f1f0d76dd6 173 this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection();
XinZhangMS 0:f7f1f0d76dd6 174 }
XinZhangMS 0:f7f1f0d76dd6 175 return this.errorsField;
XinZhangMS 0:f7f1f0d76dd6 176 }
XinZhangMS 0:f7f1f0d76dd6 177 }
XinZhangMS 0:f7f1f0d76dd6 178 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 179 /// A list of the lengths of each indent that was added with PushIndent
XinZhangMS 0:f7f1f0d76dd6 180 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 181 private System.Collections.Generic.List<int> indentLengths
XinZhangMS 0:f7f1f0d76dd6 182 {
XinZhangMS 0:f7f1f0d76dd6 183 get
XinZhangMS 0:f7f1f0d76dd6 184 {
XinZhangMS 0:f7f1f0d76dd6 185 if ((this.indentLengthsField == null))
XinZhangMS 0:f7f1f0d76dd6 186 {
XinZhangMS 0:f7f1f0d76dd6 187 this.indentLengthsField = new global::System.Collections.Generic.List<int>();
XinZhangMS 0:f7f1f0d76dd6 188 }
XinZhangMS 0:f7f1f0d76dd6 189 return this.indentLengthsField;
XinZhangMS 0:f7f1f0d76dd6 190 }
XinZhangMS 0:f7f1f0d76dd6 191 }
XinZhangMS 0:f7f1f0d76dd6 192 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 193 /// Gets the current indent we use when adding lines to the output
XinZhangMS 0:f7f1f0d76dd6 194 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 195 public string CurrentIndent
XinZhangMS 0:f7f1f0d76dd6 196 {
XinZhangMS 0:f7f1f0d76dd6 197 get
XinZhangMS 0:f7f1f0d76dd6 198 {
XinZhangMS 0:f7f1f0d76dd6 199 return this.currentIndentField;
XinZhangMS 0:f7f1f0d76dd6 200 }
XinZhangMS 0:f7f1f0d76dd6 201 }
XinZhangMS 0:f7f1f0d76dd6 202 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 203 /// Current transformation session
XinZhangMS 0:f7f1f0d76dd6 204 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 205 public virtual global::System.Collections.Generic.IDictionary<string, object> Session
XinZhangMS 0:f7f1f0d76dd6 206 {
XinZhangMS 0:f7f1f0d76dd6 207 get
XinZhangMS 0:f7f1f0d76dd6 208 {
XinZhangMS 0:f7f1f0d76dd6 209 return this.sessionField;
XinZhangMS 0:f7f1f0d76dd6 210 }
XinZhangMS 0:f7f1f0d76dd6 211 set
XinZhangMS 0:f7f1f0d76dd6 212 {
XinZhangMS 0:f7f1f0d76dd6 213 this.sessionField = value;
XinZhangMS 0:f7f1f0d76dd6 214 }
XinZhangMS 0:f7f1f0d76dd6 215 }
XinZhangMS 0:f7f1f0d76dd6 216 #endregion
XinZhangMS 0:f7f1f0d76dd6 217 #region Transform-time helpers
XinZhangMS 0:f7f1f0d76dd6 218 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 219 /// Write text directly into the generated output
XinZhangMS 0:f7f1f0d76dd6 220 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 221 public void Write(string textToAppend)
XinZhangMS 0:f7f1f0d76dd6 222 {
XinZhangMS 0:f7f1f0d76dd6 223 if (string.IsNullOrEmpty(textToAppend))
XinZhangMS 0:f7f1f0d76dd6 224 {
XinZhangMS 0:f7f1f0d76dd6 225 return;
XinZhangMS 0:f7f1f0d76dd6 226 }
XinZhangMS 0:f7f1f0d76dd6 227 // If we're starting off, or if the previous text ended with a newline,
XinZhangMS 0:f7f1f0d76dd6 228 // we have to append the current indent first.
XinZhangMS 0:f7f1f0d76dd6 229 if (((this.GenerationEnvironment.Length == 0)
XinZhangMS 0:f7f1f0d76dd6 230 || this.endsWithNewline))
XinZhangMS 0:f7f1f0d76dd6 231 {
XinZhangMS 0:f7f1f0d76dd6 232 this.GenerationEnvironment.Append(this.currentIndentField);
XinZhangMS 0:f7f1f0d76dd6 233 this.endsWithNewline = false;
XinZhangMS 0:f7f1f0d76dd6 234 }
XinZhangMS 0:f7f1f0d76dd6 235 // Check if the current text ends with a newline
XinZhangMS 0:f7f1f0d76dd6 236 if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture))
XinZhangMS 0:f7f1f0d76dd6 237 {
XinZhangMS 0:f7f1f0d76dd6 238 this.endsWithNewline = true;
XinZhangMS 0:f7f1f0d76dd6 239 }
XinZhangMS 0:f7f1f0d76dd6 240 // This is an optimization. If the current indent is "", then we don't have to do any
XinZhangMS 0:f7f1f0d76dd6 241 // of the more complex stuff further down.
XinZhangMS 0:f7f1f0d76dd6 242 if ((this.currentIndentField.Length == 0))
XinZhangMS 0:f7f1f0d76dd6 243 {
XinZhangMS 0:f7f1f0d76dd6 244 this.GenerationEnvironment.Append(textToAppend);
XinZhangMS 0:f7f1f0d76dd6 245 return;
XinZhangMS 0:f7f1f0d76dd6 246 }
XinZhangMS 0:f7f1f0d76dd6 247 // Everywhere there is a newline in the text, add an indent after it
XinZhangMS 0:f7f1f0d76dd6 248 textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField));
XinZhangMS 0:f7f1f0d76dd6 249 // If the text ends with a newline, then we should strip off the indent added at the very end
XinZhangMS 0:f7f1f0d76dd6 250 // because the appropriate indent will be added when the next time Write() is called
XinZhangMS 0:f7f1f0d76dd6 251 if (this.endsWithNewline)
XinZhangMS 0:f7f1f0d76dd6 252 {
XinZhangMS 0:f7f1f0d76dd6 253 this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length));
XinZhangMS 0:f7f1f0d76dd6 254 }
XinZhangMS 0:f7f1f0d76dd6 255 else
XinZhangMS 0:f7f1f0d76dd6 256 {
XinZhangMS 0:f7f1f0d76dd6 257 this.GenerationEnvironment.Append(textToAppend);
XinZhangMS 0:f7f1f0d76dd6 258 }
XinZhangMS 0:f7f1f0d76dd6 259 }
XinZhangMS 0:f7f1f0d76dd6 260 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 261 /// Write text directly into the generated output
XinZhangMS 0:f7f1f0d76dd6 262 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 263 public void WriteLine(string textToAppend)
XinZhangMS 0:f7f1f0d76dd6 264 {
XinZhangMS 0:f7f1f0d76dd6 265 this.Write(textToAppend);
XinZhangMS 0:f7f1f0d76dd6 266 this.GenerationEnvironment.AppendLine();
XinZhangMS 0:f7f1f0d76dd6 267 this.endsWithNewline = true;
XinZhangMS 0:f7f1f0d76dd6 268 }
XinZhangMS 0:f7f1f0d76dd6 269 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 270 /// Write formatted text directly into the generated output
XinZhangMS 0:f7f1f0d76dd6 271 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 272 public void Write(string format, params object[] args)
XinZhangMS 0:f7f1f0d76dd6 273 {
XinZhangMS 0:f7f1f0d76dd6 274 this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args));
XinZhangMS 0:f7f1f0d76dd6 275 }
XinZhangMS 0:f7f1f0d76dd6 276 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 277 /// Write formatted text directly into the generated output
XinZhangMS 0:f7f1f0d76dd6 278 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 279 public void WriteLine(string format, params object[] args)
XinZhangMS 0:f7f1f0d76dd6 280 {
XinZhangMS 0:f7f1f0d76dd6 281 this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args));
XinZhangMS 0:f7f1f0d76dd6 282 }
XinZhangMS 0:f7f1f0d76dd6 283 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 284 /// Raise an error
XinZhangMS 0:f7f1f0d76dd6 285 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 286 public void Error(string message)
XinZhangMS 0:f7f1f0d76dd6 287 {
XinZhangMS 0:f7f1f0d76dd6 288 System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError();
XinZhangMS 0:f7f1f0d76dd6 289 error.ErrorText = message;
XinZhangMS 0:f7f1f0d76dd6 290 this.Errors.Add(error);
XinZhangMS 0:f7f1f0d76dd6 291 }
XinZhangMS 0:f7f1f0d76dd6 292 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 293 /// Raise a warning
XinZhangMS 0:f7f1f0d76dd6 294 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 295 public void Warning(string message)
XinZhangMS 0:f7f1f0d76dd6 296 {
XinZhangMS 0:f7f1f0d76dd6 297 System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError();
XinZhangMS 0:f7f1f0d76dd6 298 error.ErrorText = message;
XinZhangMS 0:f7f1f0d76dd6 299 error.IsWarning = true;
XinZhangMS 0:f7f1f0d76dd6 300 this.Errors.Add(error);
XinZhangMS 0:f7f1f0d76dd6 301 }
XinZhangMS 0:f7f1f0d76dd6 302 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 303 /// Increase the indent
XinZhangMS 0:f7f1f0d76dd6 304 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 305 public void PushIndent(string indent)
XinZhangMS 0:f7f1f0d76dd6 306 {
XinZhangMS 0:f7f1f0d76dd6 307 if ((indent == null))
XinZhangMS 0:f7f1f0d76dd6 308 {
XinZhangMS 0:f7f1f0d76dd6 309 throw new global::System.ArgumentNullException("indent");
XinZhangMS 0:f7f1f0d76dd6 310 }
XinZhangMS 0:f7f1f0d76dd6 311 this.currentIndentField = (this.currentIndentField + indent);
XinZhangMS 0:f7f1f0d76dd6 312 this.indentLengths.Add(indent.Length);
XinZhangMS 0:f7f1f0d76dd6 313 }
XinZhangMS 0:f7f1f0d76dd6 314 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 315 /// Remove the last indent that was added with PushIndent
XinZhangMS 0:f7f1f0d76dd6 316 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 317 public string PopIndent()
XinZhangMS 0:f7f1f0d76dd6 318 {
XinZhangMS 0:f7f1f0d76dd6 319 string returnValue = "";
XinZhangMS 0:f7f1f0d76dd6 320 if ((this.indentLengths.Count > 0))
XinZhangMS 0:f7f1f0d76dd6 321 {
XinZhangMS 0:f7f1f0d76dd6 322 int indentLength = this.indentLengths[(this.indentLengths.Count - 1)];
XinZhangMS 0:f7f1f0d76dd6 323 this.indentLengths.RemoveAt((this.indentLengths.Count - 1));
XinZhangMS 0:f7f1f0d76dd6 324 if ((indentLength > 0))
XinZhangMS 0:f7f1f0d76dd6 325 {
XinZhangMS 0:f7f1f0d76dd6 326 returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength));
XinZhangMS 0:f7f1f0d76dd6 327 this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength));
XinZhangMS 0:f7f1f0d76dd6 328 }
XinZhangMS 0:f7f1f0d76dd6 329 }
XinZhangMS 0:f7f1f0d76dd6 330 return returnValue;
XinZhangMS 0:f7f1f0d76dd6 331 }
XinZhangMS 0:f7f1f0d76dd6 332 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 333 /// Remove any indentation
XinZhangMS 0:f7f1f0d76dd6 334 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 335 public void ClearIndent()
XinZhangMS 0:f7f1f0d76dd6 336 {
XinZhangMS 0:f7f1f0d76dd6 337 this.indentLengths.Clear();
XinZhangMS 0:f7f1f0d76dd6 338 this.currentIndentField = "";
XinZhangMS 0:f7f1f0d76dd6 339 }
XinZhangMS 0:f7f1f0d76dd6 340 #endregion
XinZhangMS 0:f7f1f0d76dd6 341 #region ToString Helpers
XinZhangMS 0:f7f1f0d76dd6 342 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 343 /// Utility class to produce culture-oriented representation of an object as a string.
XinZhangMS 0:f7f1f0d76dd6 344 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 345 public class ToStringInstanceHelper
XinZhangMS 0:f7f1f0d76dd6 346 {
XinZhangMS 0:f7f1f0d76dd6 347 private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture;
XinZhangMS 0:f7f1f0d76dd6 348 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 349 /// Gets or sets format provider to be used by ToStringWithCulture method.
XinZhangMS 0:f7f1f0d76dd6 350 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 351 public System.IFormatProvider FormatProvider
XinZhangMS 0:f7f1f0d76dd6 352 {
XinZhangMS 0:f7f1f0d76dd6 353 get
XinZhangMS 0:f7f1f0d76dd6 354 {
XinZhangMS 0:f7f1f0d76dd6 355 return this.formatProviderField ;
XinZhangMS 0:f7f1f0d76dd6 356 }
XinZhangMS 0:f7f1f0d76dd6 357 set
XinZhangMS 0:f7f1f0d76dd6 358 {
XinZhangMS 0:f7f1f0d76dd6 359 if ((value != null))
XinZhangMS 0:f7f1f0d76dd6 360 {
XinZhangMS 0:f7f1f0d76dd6 361 this.formatProviderField = value;
XinZhangMS 0:f7f1f0d76dd6 362 }
XinZhangMS 0:f7f1f0d76dd6 363 }
XinZhangMS 0:f7f1f0d76dd6 364 }
XinZhangMS 0:f7f1f0d76dd6 365 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 366 /// This is called from the compile/run appdomain to convert objects within an expression block to a string
XinZhangMS 0:f7f1f0d76dd6 367 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 368 public string ToStringWithCulture(object objectToConvert)
XinZhangMS 0:f7f1f0d76dd6 369 {
XinZhangMS 0:f7f1f0d76dd6 370 if ((objectToConvert == null))
XinZhangMS 0:f7f1f0d76dd6 371 {
XinZhangMS 0:f7f1f0d76dd6 372 throw new global::System.ArgumentNullException("objectToConvert");
XinZhangMS 0:f7f1f0d76dd6 373 }
XinZhangMS 0:f7f1f0d76dd6 374 System.Type t = objectToConvert.GetType();
XinZhangMS 0:f7f1f0d76dd6 375 System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] {
XinZhangMS 0:f7f1f0d76dd6 376 typeof(System.IFormatProvider)});
XinZhangMS 0:f7f1f0d76dd6 377 if ((method == null))
XinZhangMS 0:f7f1f0d76dd6 378 {
XinZhangMS 0:f7f1f0d76dd6 379 return objectToConvert.ToString();
XinZhangMS 0:f7f1f0d76dd6 380 }
XinZhangMS 0:f7f1f0d76dd6 381 else
XinZhangMS 0:f7f1f0d76dd6 382 {
XinZhangMS 0:f7f1f0d76dd6 383 return ((string)(method.Invoke(objectToConvert, new object[] {
XinZhangMS 0:f7f1f0d76dd6 384 this.formatProviderField })));
XinZhangMS 0:f7f1f0d76dd6 385 }
XinZhangMS 0:f7f1f0d76dd6 386 }
XinZhangMS 0:f7f1f0d76dd6 387 }
XinZhangMS 0:f7f1f0d76dd6 388 private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper();
XinZhangMS 0:f7f1f0d76dd6 389 /// <summary>
XinZhangMS 0:f7f1f0d76dd6 390 /// Helper to produce culture-oriented representation of an object as a string
XinZhangMS 0:f7f1f0d76dd6 391 /// </summary>
XinZhangMS 0:f7f1f0d76dd6 392 public ToStringInstanceHelper ToStringHelper
XinZhangMS 0:f7f1f0d76dd6 393 {
XinZhangMS 0:f7f1f0d76dd6 394 get
XinZhangMS 0:f7f1f0d76dd6 395 {
XinZhangMS 0:f7f1f0d76dd6 396 return this.toStringHelperField;
XinZhangMS 0:f7f1f0d76dd6 397 }
XinZhangMS 0:f7f1f0d76dd6 398 }
XinZhangMS 0:f7f1f0d76dd6 399 #endregion
XinZhangMS 0:f7f1f0d76dd6 400 }
XinZhangMS 0:f7f1f0d76dd6 401 #endregion
XinZhangMS 0:f7f1f0d76dd6 402 }