<?xml version="1.0" encoding="Windows-1255" ?><Class name="CodeWriter" inherit="core.gml:Object" hierarchy="GMLDOM" id="core.dev:CodeWriter" sort="21" urn="core.dev:runtime.CodeWriter.gs" toc="\Unified Runtime"><Summary>Provides a buffer for writing formatted output files.</Summary><Inherit>&lt;q ref=&quot;core.gml:Object&quot;&gt;Object&lt;/q&gt;</Inherit><Remarks>The CodeWriter object is typically used to create a package of formatted files according to:
		&lt;ol&gt;&lt;li&gt;Create a new CodeWriter for the files package &lt;/li&gt;&lt;li&gt;Set the desired formatting style using the various CodeWriter settings &lt;/li&gt;&lt;li&gt;Add new files and folders using the &lt;q ref=&quot;core.dev:createFile&quot;&gt;createFile&lt;/q&gt; and &lt;q ref=&quot;core.dev:createFolder&quot;&gt;createFolder&lt;/q&gt; methods &lt;/li&gt;&lt;li&gt;Add content to the current file using the various addXXX, beginXXX and endXXX methods &lt;/li&gt;&lt;li&gt;Content is usually written serially to the last created file. To write in random access order, use the &lt;q ref=&quot;core.dev:getBookmark&quot;&gt;getBookmark&lt;/q&gt;, &lt;q ref=&quot;core.dev:moveToBookmark&quot;&gt;moveToBookmark&lt;/q&gt; and &lt;q ref=&quot;core.dev:moveToFile&quot;&gt;moveToFile&lt;/q&gt; methods &lt;/li&gt;&lt;li&gt;To report errors resp. warnings to the errors log while writing, use the &lt;q ref=&quot;core.dev:error&quot;&gt;error&lt;/q&gt; resp. &lt;q ref=&quot;core.dev:warning&quot;&gt;warning&lt;/q&gt; methods &lt;/li&gt;&lt;li&gt;Once all content has been written, call the &lt;q ref=&quot;core.dev:serialize&quot;&gt;serialize&lt;/q&gt; method &lt;/li&gt;&lt;li&gt;Use the &lt;q ref=&quot;core.dev:getRootFolder&quot;&gt;getRootFolder&lt;/q&gt;, &lt;q ref=&quot;core.dev:getSubFiles&quot;&gt;getSubFiles&lt;/q&gt;, or &lt;q ref=&quot;core.dev:getAllFiles&quot;&gt;getAllFiles&lt;/q&gt; to navigate through the serialized files &lt;/li&gt;&lt;li&gt;Use the &lt;q ref=&quot;core.dev:getFileText&quot;&gt;getFileText&lt;/q&gt; or &lt;q ref=&quot;core.dev:getFileXml&quot;&gt;getFileXml&lt;/q&gt; to retrieve the content of the serialized files &lt;/li&gt;&lt;/ol&gt;
		In addition, the CodeWriter implements also the &lt;q ref=&quot;core.lib:TreeView!provider&quot;&gt;TreeProvider&lt;/q&gt; interface, 
		and thus can be bound directly to the &lt;q ref=&quot;core.lib:TreeView&quot;&gt;TreeView&lt;/q&gt; component.</Remarks><Copyright>(c) SAP AG 2003-2006. All rights reserved.</Copyright>
<Topics>
<Constructor group="1. General" sortGroup="true" scope="public" name="Constructor" id="core.dev:CodeWriter!Constructor" sort="31" seq="0000"><Summary>CodeWriter constructor.</Summary><Parameters signature="constructor:: new &lt;b&gt;CodeWriter&lt;/b&gt;(&lt;i&gt;name&lt;/i&gt;, &lt;i&gt;settings&lt;/i&gt;) &amp;rarr; CodeWriter"><Param name="name" type="String">The package name.</Param><Param name="settings" type="Object">The settings object (for overriding default CodeWriter settings).</Param></Parameters></Constructor>
<Structure name="GML_ERROR" sortGroup="true" id="core.dev:CodeWriter!GML_ERROR" sort="41" group="1. General" seq="0001"><Summary>Represents a &lt;q ref=&quot;core.dev:CodeWriter&quot;&gt;CodeWriter&lt;/q&gt; error.</Summary><Remarks>The GML_ERROR structure is made of:
			&lt;table class=&quot;BOTH&quot;&gt;&lt;tr&gt;&lt;td class=&quot;H V&quot;&gt;Name &lt;/td&gt;&lt;td class=H&gt;Type &lt;/td&gt;&lt;td class=H&gt;Description &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;type &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The error type (E=Error, W=Warning) &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;msg &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The error message &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;obj &lt;/td&gt;&lt;td&gt;&lt;q ref=&quot;core.gml:GmlObject&quot;&gt;GmlObject&lt;/q&gt; &lt;/td&gt;&lt;td&gt;Optional. The GML element associated with the error &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;unit &lt;/td&gt;&lt;td&gt;&lt;q ref=&quot;core.gml:GmlObject&quot;&gt;GmlObject&lt;/q&gt; &lt;/td&gt;&lt;td&gt;Optional. The GML unit that contains the error &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</Remarks></Structure>
<Structure name="GML_FILE" sortGroup="true" id="core.dev:CodeWriter!GML_FILE" sort="41" group="1. General" seq="0002"><Summary>Represents a &lt;q ref=&quot;core.dev:CodeWriter&quot;&gt;CodeWriter&lt;/q&gt; file.</Summary><Remarks>The GML_FILE structure is made of:
			&lt;table class=&quot;BOTH&quot;&gt;&lt;tr&gt;&lt;td class=&quot;H V&quot;&gt;Name &lt;/td&gt;&lt;td class=H&gt;Type &lt;/td&gt;&lt;td class=H&gt;Description &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;id &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The file id &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;name &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The file name &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;path &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The file absolute path &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;type &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The file type (extension) &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;hint &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The file short description &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;icon &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The file icon &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;text &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The file text (available after the file has been serialized) &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;xml &lt;/td&gt;&lt;td&gt;XmlDocument &lt;/td&gt;&lt;td&gt;The file xml document (applies only to xml files; available after the file has been serialized) &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;isFolder &lt;/td&gt;&lt;td&gt;Boolean &lt;/td&gt;&lt;td&gt;Indicates whether the file is a folder (readonly) &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;isCode &lt;/td&gt;&lt;td&gt;Boolean &lt;/td&gt;&lt;td&gt;Indicates whether the file is a code file (readonly) &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;isXml &lt;/td&gt;&lt;td&gt;Boolean &lt;/td&gt;&lt;td&gt;Indicates whether the file is an xml file (readonly) &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;isImage &lt;/td&gt;&lt;td&gt;Boolean &lt;/td&gt;&lt;td&gt;Indicates whether the file is an image file (readonly) &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</Remarks></Structure>
<Method name="createFile" sortGroup="true" scope="public" id="core.dev:CodeWriter!createFile" sort="35" group="2. File Writing" seq="0003"><Summary>Creates a new file under the specified folder.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;createFile&lt;/b&gt;(&lt;i&gt;folder&lt;/i&gt;, &lt;i&gt;name&lt;/i&gt;, &lt;i&gt;type&lt;/i&gt;, &lt;i&gt;hint&lt;/i&gt;, &lt;i&gt;icon&lt;/i&gt;, &lt;i&gt;order&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="folder" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent folder in which the new file should be added.</Param><Param name="name" type="String">The new file name.</Param><Param name="type" type="String">The new file type (e.g., folder, txt, js, java, htm, xml, etc.).</Param><Param name="hint" default="" type="String">A short description of the new file.</Param><Param name="icon" default="" type="String">Display icon for the new file. If omitted, the icon will be derived from the file's type.</Param><Param name="order" default="5" type="Number">A numeric value used for controlling the display order of the new file within its parent folder.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The newly created file.</Return></Method>
<Method name="createFolder" group="2. File Writing" sortGroup="true" scope="public" id="core.dev:CodeWriter!createFolder" sort="35" seq="0004"><Summary>Creates a new folder.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;createFolder&lt;/b&gt;(&lt;i&gt;folder&lt;/i&gt;, &lt;i&gt;name&lt;/i&gt;, &lt;i&gt;hint&lt;/i&gt;, &lt;i&gt;icon&lt;/i&gt;, &lt;i&gt;order&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="folder" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent folder in which the new folder should be added.</Param><Param name="name" type="String">The new folder name.</Param><Param name="hint" default="" type="String">A short description of the new folder.</Param><Param name="icon" default="" type="String">Display icon for the new folder. If omitted, the default folder icon will be used.</Param><Param name="order" default="5" type="Number">A numeric value used for controlling the display order of the new folder within its parent folder.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The newly created folder.</Return></Method>
<Method name="getBookmark" sortGroup="true" scope="public" id="core.dev:CodeWriter!getBookmark" sort="35" group="2. File Writing" seq="0005"><Summary>Gets a bookmark object that represents the current position of the CodeWriter cursor.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getBookmark&lt;/b&gt;() &amp;rarr; Object"></Parameters><Return type="Object">The bookmark object.</Return></Method>
<Method name="moveToBookmark" sortGroup="true" scope="public" id="core.dev:CodeWriter!moveToBookmark" sort="35" group="2. File Writing" seq="0006"><Summary>Moves the CodeWriter cursor to a previously saved bookmark.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;moveToBookmark&lt;/b&gt;(&lt;i&gt;bookmark&lt;/i&gt;) &amp;rarr; void"><Param name="bookmark" type="Object">The file bookmark to open.</Param></Parameters><Return></Return></Method>
<Method name="moveToFile" sortGroup="true" scope="public" id="core.dev:CodeWriter!moveToFile" sort="35" group="2. File Writing" seq="0007"><Summary>Moves the CodeWriter cursor to the end of the specified file.</Summary><Parameters label="Form 1" descr="Absolute path name." signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;moveToFile&lt;/b&gt;(&lt;i&gt;pathName&lt;/i&gt;) &amp;rarr; void"><Param name="pathName" type="String">The absolute path name (including file name).</Param></Parameters><Parameters label="Form 2" descr="Relative path name." signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;moveToFile&lt;/b&gt;(&lt;i&gt;folder&lt;/i&gt;, &lt;i&gt;fileName&lt;/i&gt;) &amp;rarr; void"><Param name="folder" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent folder.</Param><Param name="fileName" type="String">The file name relative to the parent folder (including extension).</Param></Parameters><Parameters label="Form 3" descr="File handle." signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;moveToFile&lt;/b&gt;(&lt;i&gt;handle&lt;/i&gt;) &amp;rarr; void"><Param name="handle" type="Number">The file handle.</Param></Parameters><Return></Return></Method>
<Method name="removeFile" sortGroup="true" scope="public" id="core.dev:CodeWriter!removeFile" sort="35" group="2. File Writing" seq="0008"><Summary>Removes the specified file/folder.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;removeFile&lt;/b&gt;(&lt;i&gt;file&lt;/i&gt;) &amp;rarr; void"><Param name="file" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The file/folder to remove.</Param></Parameters><Return></Return><Remarks>When a folder is removed then its contained files/folders are removed as well (recursively).</Remarks></Method>
<Method name="serialize" sortGroup="true" scope="public" id="core.dev:CodeWriter!serialize" sort="35" group="2. File Writing" seq="0009"><Summary>Serializes all files in the CodeWriter.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;serialize&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return><Remarks>&lt;ul&gt;&lt;li&gt;The CodeWriter must be serialized to make the files contents available in text representation. &lt;/li&gt;&lt;li&gt;This method is typically invoked after the last write operation on the CodeWriter. &lt;/li&gt;&lt;/ul&gt;</Remarks></Method>
<Method name="add" group="3. Standard Output" sortGroup="true" scope="public" id="core.dev:CodeWriter!add" sort="35" seq="0010"><Summary>Adds one or more lines to the end of the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;add&lt;/b&gt;(&lt;i&gt;lines...&lt;/i&gt;) &amp;rarr; void"><Param name="lines..." default="" type="String">The lines to add (if omitted, an empty line will be added).</Param></Parameters><Return></Return></Method>
<Method name="beginBlock" also="core.dev:CodeWriter!endBlock" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginBlock" sort="35" group="3. Standard Output" seq="0011"><Summary>Begins a new block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginBlock&lt;/b&gt;(&lt;i&gt;head&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="head" type="String">The block header line.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new block.</Return><Remarks>&lt;ul&gt;&lt;li&gt;Upon completion the current block is set to the newly created block &lt;/li&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!beginBlock&quot;&gt;beginBlock&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endBlock&quot;&gt;endBlock&lt;/q&gt; &lt;/li&gt;&lt;/ul&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!endBlock&quot;&gt;endBlock&lt;/q&gt;</SeeAlso></Method>
<Method name="endBlock" also="core.dev:CodeWriter!beginBlock" sortGroup="true" scope="public" id="core.dev:CodeWriter!endBlock" sort="35" group="3. Standard Output" seq="0012"><Summary>Ends the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endBlock&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed block).</Return><Remarks>&lt;ul&gt;&lt;li&gt;Upon completion the current block is set to the parent block &lt;/li&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!endBlock&quot;&gt;endBlock&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginBlock&quot;&gt;beginBlock&lt;/q&gt; &lt;/li&gt;&lt;/ul&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginBlock&quot;&gt;beginBlock&lt;/q&gt;</SeeAlso></Method>
<Method name="addComment" sortGroup="true" scope="public" id="core.dev:CodeWriter!addComment" sort="35" group="4. Program Output (code)" seq="0013"><Summary>Adds a single-line comment at the end of the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;addComment&lt;/b&gt;(&lt;i&gt;text&lt;/i&gt;, &lt;i&gt;emphasize&lt;/i&gt;) &amp;rarr; void"><Param name="text" type="String">The comment text.</Param><Param name="emphasize" type="Boolean" default="false">Indicates whether to generate an emphasized comment.</Param></Parameters><Return></Return><Remarks>The comment delimiters are determined automatically based on the containing block

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginIf('a &amp;lt; 100');
out.addComment('a is less than 100');
out.endIf();

&lt;b&gt;output:&lt;/b&gt;
if (a &amp;lt; 100) {
   // a is less than 100
}
&lt;/pre&gt;

&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginTag('test', {max:100});
out.addComment('a is less than 100');
out.endTag();

&lt;b&gt;output:&lt;/b&gt;
&amp;lt;test max=&quot;100&quot;&amp;gt;
   &amp;lt;!-- a is less than 100 --&amp;gt;
&amp;lt;/test&amp;gt;
&lt;/pre&gt;</Remarks></Method>
<Method name="beginCase" also="core.dev:CodeWriter!beginSwitch core.dev:CodeWriter!endSwitch" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginCase" sort="35" group="4. Program Output (code)" seq="0014"><Summary>Adds a &lt;code&gt;case&lt;/code&gt; clause to a &lt;code&gt;switch&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginCase&lt;/b&gt;(&lt;i&gt;cond&lt;/i&gt;) &amp;rarr; void"><Param name="cond" default="" type="String">The &lt;code&gt;case&lt;/code&gt; condition (if omitted, the &lt;code&gt;default&lt;/code&gt; case will be added).</Param></Parameters><Return></Return><Remarks>&lt;ul&gt;&lt;li&gt;The &lt;q ref=&quot;core.dev:CodeWriter!beginCase&quot;&gt;beginCase&lt;/q&gt; method must be called between a matching pair of &lt;q ref=&quot;core.dev:CodeWriter!beginSwitch&quot;&gt;beginSwitch&lt;/q&gt; and &lt;q ref=&quot;core.dev:CodeWriter!endSwitch&quot;&gt;endSwitch&lt;/q&gt; calls. &lt;/li&gt;&lt;li&gt;The &lt;code&gt;cond&lt;/code&gt; parameter is required in all but the last &lt;q ref=&quot;core.dev:CodeWriter!beginCase&quot;&gt;beginCase&lt;/q&gt; call within the same &lt;code&gt;switch&lt;/code&gt; block. &lt;/li&gt;&lt;/ul&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginSwitch&quot;&gt;beginSwitch&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!endSwitch&quot;&gt;endSwitch&lt;/q&gt;</SeeAlso></Method>
<Method name="beginCatch" also="core.dev:CodeWriter!beginTry core.dev:CodeWriter!endTry" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginCatch" sort="35" group="4. Program Output (code)" seq="0015"><Summary>Adds a &lt;code&gt;catch&lt;/code&gt; clause to a &lt;code&gt;try&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginCatch&lt;/b&gt;(&lt;i&gt;expr&lt;/i&gt;) &amp;rarr; void"><Param name="expr" type="String">The &lt;code&gt;catch&lt;/code&gt; expression.</Param></Parameters><Return></Return><Remarks>&lt;ul&gt;&lt;li&gt;The &lt;q ref=&quot;core.dev:CodeWriter!beginCatch&quot;&gt;beginCatch&lt;/q&gt; method must be called between a matching pair of &lt;q ref=&quot;core.dev:CodeWriter!beginTry&quot;&gt;beginTry&lt;/q&gt; and &lt;q ref=&quot;core.dev:CodeWriter!endTry&quot;&gt;endTry&lt;/q&gt; calls. &lt;/li&gt;&lt;/ul&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginTry&quot;&gt;beginTry&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!endTry&quot;&gt;endTry&lt;/q&gt;</SeeAlso></Method>
<Method name="beginDo" also="core.dev:CodeWriter!endDo" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginDo" sort="35" group="4. Program Output (code)" seq="0016"><Summary>Begins a &lt;code&gt;do&lt;/code&gt; block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginDo&lt;/b&gt;(&lt;i&gt;cond&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="cond" type="String">The &lt;code&gt;do&lt;/code&gt; condition.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;do&lt;/code&gt; block.</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!beginDo&quot;&gt;beginDo&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endDo&quot;&gt;endDo&lt;/q&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginDo('i &amp;lt; 10');
out.add('print(i);');
out.endDo();

&lt;b&gt;output:&lt;/b&gt;
do {
   print(i);
} while (i &amp;lt; 10);
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!endDo&quot;&gt;endDo&lt;/q&gt;</SeeAlso></Method>
<Method name="beginElse" also="core.dev:CodeWriter!beginIf core.dev:CodeWriter!endIf" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginElse" sort="35" group="4. Program Output (code)" seq="0017"><Summary>Adds an &lt;code&gt;else&lt;/code&gt; clause to an &lt;code&gt;if&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginElse&lt;/b&gt;(&lt;i&gt;cond&lt;/i&gt;) &amp;rarr; void"><Param name="cond" type="String">The &lt;code&gt;else&lt;/code&gt; condition.</Param></Parameters><Return></Return><Remarks>&lt;ul&gt;&lt;li&gt;The &lt;q ref=&quot;core.dev:CodeWriter!beginElse&quot;&gt;beginElse&lt;/q&gt; method must be called between a matching pair of &lt;q ref=&quot;core.dev:CodeWriter!beginIf&quot;&gt;beginIf&lt;/q&gt; and &lt;q ref=&quot;core.dev:CodeWriter!endIf&quot;&gt;endIf&lt;/q&gt; calls. &lt;/li&gt;&lt;li&gt;The &lt;code&gt;cond&lt;/code&gt; parameter is required in all but the last &lt;q ref=&quot;core.dev:CodeWriter!beginElse&quot;&gt;beginElse&lt;/q&gt; call within the same &lt;code&gt;if&lt;/code&gt; block. &lt;/li&gt;&lt;/ul&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginIf&quot;&gt;beginIf&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!endIf&quot;&gt;endIf&lt;/q&gt;</SeeAlso></Method>
<Method name="beginFor" also="core.dev:CodeWriter!endFor" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginFor" sort="35" group="4. Program Output (code)" seq="0018"><Summary>Begins a &lt;code&gt;for&lt;/code&gt; block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginFor&lt;/b&gt;(&lt;i&gt;cond&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="cond" type="String">The &lt;code&gt;for&lt;/code&gt; condition.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;for&lt;/code&gt; block.</Return><Remarks>&lt;ul&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!beginFor&quot;&gt;beginFor&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endFor&quot;&gt;endFor&lt;/q&gt; &lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginFor('var i=0; i&amp;lt;10; i++');
out.add('print(i);');
out.endFor();

&lt;b&gt;output:&lt;/b&gt;
for (var i=0; i&amp;lt;10; i++) {
   print(i);
}
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!endFor&quot;&gt;endFor&lt;/q&gt;</SeeAlso></Method>
<Method name="beginIf" also="core.dev:CodeWriter!beginElse core.dev:CodeWriter!endIf" group="4. Program Output (code)" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginIf" sort="35" seq="0019"><Summary>Begins an &lt;code&gt;if&lt;/code&gt; block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginIf&lt;/b&gt;(&lt;i&gt;cond&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="cond" type="String">The &lt;code&gt;if&lt;/code&gt; condition.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;if&lt;/code&gt; block.</Return><Remarks>&lt;ul&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!beginIf&quot;&gt;beginIf&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endIf&quot;&gt;endIf&lt;/q&gt; &lt;/li&gt;&lt;li&gt;Between the &lt;q ref=&quot;core.dev:CodeWriter!beginIf&quot;&gt;beginIf&lt;/q&gt; and matching &lt;q ref=&quot;core.dev:CodeWriter!endIf&quot;&gt;endIf&lt;/q&gt; calls, the &lt;q ref=&quot;core.dev:CodeWriter!beginElse&quot;&gt;beginElse&lt;/q&gt; method can be called zero or more times &lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginIf('a &amp;lt; 0');
out.add('print(&quot;negative&quot;)');
out.beginElse('a &amp;gt; 0');
out.add('print(&quot;positive&quot;)');
out.beginElse();
out.add('print(&quot;zero&quot;)');
out.endIf();

&lt;b&gt;output:&lt;/b&gt;
if (a &amp;lt; 0) {
   print(&quot;negative&quot;);
} else if (a &amp;lt; 10) {
   print(&quot;positive&quot;);
} else if (a &amp;lt; 10) {
   print(&quot;zero&quot;);
}
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginElse&quot;&gt;beginElse&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!endIf&quot;&gt;endIf&lt;/q&gt;</SeeAlso></Method>
<Method name="beginSwitch" also="core.dev:CodeWriter!beginCase core.dev:CodeWriter!endSwitch" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginSwitch" sort="35" group="4. Program Output (code)" seq="0020"><Summary>Begins a &lt;code&gt;switch&lt;/code&gt; block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginSwitch&lt;/b&gt;(&lt;i&gt;expr&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="expr" type="String">The &lt;code&gt;switch&lt;/code&gt; expression.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;switch&lt;/code&gt; block.</Return><Remarks>&lt;ul&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!beginSwitch&quot;&gt;beginSwitch&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endSwitch&quot;&gt;endSwitch&lt;/q&gt; &lt;/li&gt;&lt;li&gt;Between the &lt;q ref=&quot;core.dev:CodeWriter!beginSwitch&quot;&gt;beginSwitch&lt;/q&gt; and matching &lt;q ref=&quot;core.dev:CodeWriter!endSwitch&quot;&gt;endSwitch&lt;/q&gt; calls, the &lt;q ref=&quot;core.dev:CodeWriter!beginCase&quot;&gt;beginCase&lt;/q&gt; method can be called one or more times &lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginSwitch('type');
out.beginCase('A');
out.add('break;');
out.add();
out.beginCase('B');
out.add('break;');
out.add();
out.beginCase();
out.add('break;');
out.endSwitch();

&lt;b&gt;output:&lt;/b&gt;
switch (type) {
   case 'A':
      break;

   case 'B':
      break;

   default:
      break;
}
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginCase&quot;&gt;beginCase&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!endSwitch&quot;&gt;endSwitch&lt;/q&gt;</SeeAlso></Method>
<Method name="beginTry" also="core.dev:CodeWriter!beginCatch core.dev:CodeWriter!endTry" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginTry" sort="35" group="4. Program Output (code)" seq="0021"><Summary>Begins a &lt;code&gt;try&lt;/code&gt; block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginTry&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;try&lt;/code&gt; block.</Return><Remarks>&lt;ul&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!beginTry&quot;&gt;beginTry&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endTry&quot;&gt;endTry&lt;/q&gt; &lt;/li&gt;&lt;li&gt;Between the &lt;q ref=&quot;core.dev:CodeWriter!beginTry&quot;&gt;beginTry&lt;/q&gt; and matching &lt;q ref=&quot;core.dev:CodeWriter!endTry&quot;&gt;endTry&lt;/q&gt; calls, the &lt;q ref=&quot;core.dev:CodeWriter!beginCatch&quot;&gt;beginCatch&lt;/q&gt; method can be called one or more times &lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginTry();
out.add('...');
out.beginCatch('e');
out.add('...');
out.endTry();

&lt;b&gt;output:&lt;/b&gt;
try {
   ...
} catch (e) {
   ...
}
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginCatch&quot;&gt;beginCatch&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!endTry&quot;&gt;endTry&lt;/q&gt;</SeeAlso></Method>
<Method name="beginWhile" also="core.dev:CodeWriter!endWhile" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginWhile" sort="35" group="4. Program Output (code)" seq="0022"><Summary>Begins a &lt;code&gt;while&lt;/code&gt; block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginWhile&lt;/b&gt;(&lt;i&gt;cond&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="cond" type="String">The &lt;code&gt;while&lt;/code&gt; condition.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;while&lt;/code&gt; block.</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!beginWhile&quot;&gt;beginWhile&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endWhile&quot;&gt;endWhile&lt;/q&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginWhile('i &amp;lt; 10');
out.add('print(i);');
out.endWhile();

&lt;b&gt;output:&lt;/b&gt;
while (i &amp;lt; 10) {
   print(i);
}
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!endWhile&quot;&gt;endWhile&lt;/q&gt;</SeeAlso></Method>
<Method name="endDo" also="core.dev:CodeWriter!beginDo" sortGroup="true" scope="public" id="core.dev:CodeWriter!endDo" sort="35" group="4. Program Output (code)" seq="0023"><Summary>Ends the current &lt;code&gt;do&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endDo&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;do&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endDo&quot;&gt;endDo&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginDo&quot;&gt;beginDo&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginDo&quot;&gt;beginDo&lt;/q&gt;</SeeAlso></Method>
<Method name="endFor" also="core.dev:CodeWriter!beginFor" sortGroup="true" scope="public" id="core.dev:CodeWriter!endFor" sort="35" group="4. Program Output (code)" seq="0024"><Summary>Ends the current &lt;code&gt;for&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endFor&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;for&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endFor&quot;&gt;endFor&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginFor&quot;&gt;beginFor&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginFor&quot;&gt;beginFor&lt;/q&gt;</SeeAlso></Method>
<Method name="endIf" also="core.dev:CodeWriter!beginIf core.dev:CodeWriter!beginElse" sortGroup="true" scope="public" id="core.dev:CodeWriter!endIf" sort="35" group="4. Program Output (code)" seq="0025"><Summary>Ends the current &lt;code&gt;if&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endIf&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;if&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endIf&quot;&gt;endIf&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginIf&quot;&gt;beginIf&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginIf&quot;&gt;beginIf&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!beginElse&quot;&gt;beginElse&lt;/q&gt;</SeeAlso></Method>
<Method name="endSwitch" also="core.dev:CodeWriter!beginSwitch core.dev:CodeWriter!beginCase" sortGroup="true" scope="public" id="core.dev:CodeWriter!endSwitch" sort="35" group="4. Program Output (code)" seq="0026"><Summary>Ends the current &lt;code&gt;switch&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endSwitch&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;switch&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endSwitch&quot;&gt;endSwitch&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginSwitch&quot;&gt;beginSwitch&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginSwitch&quot;&gt;beginSwitch&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!beginCase&quot;&gt;beginCase&lt;/q&gt;</SeeAlso></Method>
<Method name="endTry" also="core.dev:CodeWriter!beginTry core.dev:CodeWriter!beginCatch" sortGroup="true" scope="public" id="core.dev:CodeWriter!endTry" sort="35" group="4. Program Output (code)" seq="0027"><Summary>Ends the current &lt;code&gt;try&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endTry&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;try&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endTry&quot;&gt;endTry&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginTry&quot;&gt;beginTry&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginTry&quot;&gt;beginTry&lt;/q&gt; | &lt;q ref=&quot;core.dev:CodeWriter!beginCatch&quot;&gt;beginCatch&lt;/q&gt;</SeeAlso></Method>
<Method name="endWhile" also="core.dev:CodeWriter!beginWhile" sortGroup="true" scope="public" id="core.dev:CodeWriter!endWhile" sort="35" group="4. Program Output (code)" seq="0028"><Summary>Ends the current &lt;code&gt;while&lt;/code&gt; block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endWhile&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;while&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endWhile&quot;&gt;endWhile&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginWhile&quot;&gt;beginWhile&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginWhile&quot;&gt;beginWhile&lt;/q&gt;</SeeAlso></Method>
<Method name="addTag" also="core.dev:CodeWriter!addTag" sortGroup="true" scope="public" id="core.dev:CodeWriter!addTag" sort="35" group="5. Markup Output (xml)" seq="0029"><Summary>Adds a single-line &lt;code&gt;tag&lt;/code&gt; (xml) at the end of the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;addTag&lt;/b&gt;(&lt;i&gt;name&lt;/i&gt;, &lt;i&gt;attrs&lt;/i&gt;, &lt;i&gt;text&lt;/i&gt;) &amp;rarr; void"><Param name="name" type="String">The tag name.</Param><Param name="attrs" default="" type="Object">The tag attributes.</Param><Param name="text" default="" type="String">The tag text.</Param></Parameters><Return></Return><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.addTag('input', {id:&quot;F1&quot;, value:100});

&lt;b&gt;output:&lt;/b&gt;
&amp;lt;input id=&quot;F1&quot; value=&quot;100&quot;/&amp;gt;
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!addTag&quot;&gt;addTag&lt;/q&gt;</SeeAlso></Method>
<Method name="beginCData" also="core.dev:CodeWriter!endCData" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginCData" sort="35" group="5. Markup Output (xml)" seq="0030"><Summary>Begins a &lt;code&gt;cdata&lt;/code&gt; (xml) block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginCData&lt;/b&gt;(&lt;i&gt;name&lt;/i&gt;, &lt;i&gt;attrs&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="name" type="String">The cdata tag name.</Param><Param name="attrs" default="" type="Object">The cdata tag attributes.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;cdata&lt;/code&gt; block.</Return><Remarks>&lt;ul&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!beginCData&quot;&gt;beginCData&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endCData&quot;&gt;endCData&lt;/q&gt; &lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginCData('script', {language:&quot;JavaScript&quot;});
out.add('var a=0;');
out.add('a += 1;');
out.endCData();

&lt;b&gt;output:&lt;/b&gt;
&amp;lt;script language=&quot;JavaScript&quot;&amp;gt;&amp;lt;![CDATA[
   var a=0;
   a = a+1;
]]&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!endCData&quot;&gt;endCData&lt;/q&gt;</SeeAlso></Method>
<Method name="beginTag" also="core.dev:CodeWriter!endTag" group="5. Markup Output (xml)" sortGroup="true" scope="public" id="core.dev:CodeWriter!beginTag" sort="35" seq="0031"><Summary>Begins a &lt;code&gt;tag&lt;/code&gt; (xml) block under the current block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;beginTag&lt;/b&gt;(&lt;i&gt;name&lt;/i&gt;, &lt;i&gt;attrs&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="name" type="String">The tag name.</Param><Param name="attrs" default="" type="Object">The tag attributes.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The new &lt;code&gt;tag&lt;/code&gt; block.</Return><Remarks>&lt;ul&gt;&lt;li&gt;A call to &lt;q ref=&quot;core.dev:CodeWriter!beginTag&quot;&gt;beginTag&lt;/q&gt; must be subsequently followed by a matching call to &lt;q ref=&quot;core.dev:CodeWriter!endTag&quot;&gt;endTag&lt;/q&gt; &lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Sample&lt;/h2&gt;
&lt;pre&gt;
&lt;b&gt;source:&lt;/b&gt;
out.beginTag('table', {id:&quot;TBL1&quot;, width:100, height:100});
...
out.endTag();

&lt;b&gt;output:&lt;/b&gt;
&amp;lt;table id=&quot;TBL1&quot; width=&quot;100&quot; height=&quot;100&quot;&amp;gt;
   ...
&amp;lt;/table&amp;gt;
&lt;/pre&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!endTag&quot;&gt;endTag&lt;/q&gt;</SeeAlso></Method>
<Method name="endCData" also="core.dev:CodeWriter!beginCData" sortGroup="true" scope="public" id="core.dev:CodeWriter!endCData" sort="35" group="5. Markup Output (xml)" seq="0032"><Summary>Ends the current &lt;code&gt;cdata&lt;/code&gt; (xml) block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endCData&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;cdata&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endCData&quot;&gt;endCData&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginCData&quot;&gt;beginCData&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginCData&quot;&gt;beginCData&lt;/q&gt;</SeeAlso></Method>
<Method name="endTag" also="core.dev:CodeWriter!beginTag" sortGroup="true" scope="public" id="core.dev:CodeWriter!endTag" sort="35" group="5. Markup Output (xml)" seq="0033"><Summary>Ends the current &lt;code&gt;tag&lt;/code&gt; (xml) block.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;endTag&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent block (parent of the closed &lt;code&gt;tag&lt;/code&gt; block).</Return><Remarks>A call to &lt;q ref=&quot;core.dev:CodeWriter!endTag&quot;&gt;endTag&lt;/q&gt; should match a previous call to &lt;q ref=&quot;core.dev:CodeWriter!beginTag&quot;&gt;beginTag&lt;/q&gt;</Remarks><SeeAlso>&lt;q ref=&quot;core.dev:CodeWriter!beginTag&quot;&gt;beginTag&lt;/q&gt;</SeeAlso></Method>
<Property name="filesCount" access="RO" type="Number" default="0" group="6. File Reading" sortGroup="true" scope="public" id="core.dev:CodeWriter!filesCount" sort="34" seq="0034"><Summary>Gets the total number of folders/files.</Summary></Property>
<Method name="getAllFiles" sortGroup="true" scope="public" id="core.dev:CodeWriter!getAllFiles" sort="35" group="6. File Reading" seq="0035"><Summary>Gets the list of all files/folders in the CodeWriter.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getAllFiles&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;[]"></Parameters><Return type="GML_FILE[]" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;[]">The files list.</Return></Method>
<Method name="getFile" sortGroup="true" scope="public" id="core.dev:CodeWriter!getFile" sort="35" group="6. File Reading" seq="0036"><Summary>Gets a specified file/folder.</Summary><Parameters label="Form 1" descr="Absolute path name." signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getFile&lt;/b&gt;(&lt;i&gt;pathName&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="pathName" type="String">The absolute path name (including file name).</Param></Parameters><Parameters label="Form 2" descr="Relative path name." signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getFile&lt;/b&gt;(&lt;i&gt;folder&lt;/i&gt;, &lt;i&gt;fileName&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="folder" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The parent folder.</Param><Param name="fileName" type="String">The file name relative to the parent folder (including extension).</Param></Parameters><Parameters label="Form 3" descr="File handle." signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getFile&lt;/b&gt;(&lt;i&gt;handle&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"><Param name="handle" type="Number">The file handle.</Param></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The requested file.</Return></Method>
<Method name="getFileStatistics" sortGroup="true" scope="public" id="core.dev:CodeWriter!getFileStatistics" sort="35" group="6. File Reading" seq="0037"><Summary>Gets statistics about the specified file/folder.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getFileStatistics&lt;/b&gt;(&lt;i&gt;file&lt;/i&gt;) &amp;rarr; Object"><Param name="file" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The file/folder to query.</Param></Parameters><Return type="Object">The requested statistics.</Return><Remarks>The statistics are returned in an object with the following fields: {bytesCount:Number, filesCount:Number, foldersCount:Number}.</Remarks></Method>
<Method name="getFileText" sortGroup="true" scope="public" id="core.dev:CodeWriter!getFileText" sort="35" group="6. File Reading" seq="0038"><Summary>Gets the text contents of a specified file.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getFileText&lt;/b&gt;(&lt;i&gt;file&lt;/i&gt;) &amp;rarr; String"><Param name="file" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The file to fetch.</Param></Parameters><Return type="String">The requested file's text contents.</Return><Remarks>The CodeWriter must be serialized prior to using this method.</Remarks></Method>
<Method name="getFileXml" sortGroup="true" scope="public" id="core.dev:CodeWriter!getFileXml" sort="35" group="6. File Reading" seq="0039"><Summary>Gets the xml contents of a specified file.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getFileXml&lt;/b&gt;(&lt;i&gt;file&lt;/i&gt;) &amp;rarr; XmlDocument"><Param name="file" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The file to fetch.</Param></Parameters><Return type="XmlDocument">The requested file's xml contents.</Return><Remarks>The CodeWriter must be serialized prior to using this method.</Remarks></Method>
<Method name="getRootFolder" sortGroup="true" scope="public" id="core.dev:CodeWriter!getRootFolder" sort="35" group="6. File Reading" seq="0040"><Summary>Gets the root folder.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getRootFolder&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;"></Parameters><Return type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The root folder.</Return></Method>
<Method name="getSubFiles" sortGroup="true" scope="public" id="core.dev:CodeWriter!getSubFiles" sort="35" group="6. File Reading" seq="0041"><Summary>Gets the list of files/folders under a given folder.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getSubFiles&lt;/b&gt;(&lt;i&gt;folder&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;[]"><Param name="folder" type="GML_FILE" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;">The folder to fetch.</Param></Parameters><Return type="GML_FILE[]" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_FILE&quot;&gt;GML_FILE&lt;/q&gt;[]">The files list.</Return></Method>
<Property name="errorsCount" access="RO" type="Number" default="0" group="7. Errors Reporting" sortGroup="true" scope="public" id="core.dev:CodeWriter!errorsCount" sort="34" seq="0042"><Summary>Gets the number of accumulated errors.</Summary></Property>
<Property name="warningsCount" access="RO" type="Number" default="0" sortGroup="true" scope="public" id="core.dev:CodeWriter!warningsCount" sort="34" group="7. Errors Reporting" seq="0043"><Summary>Gets the number of accumulated warnings.</Summary></Property>
<Method name="eraseErrorFlags" sortGroup="true" scope="public" id="core.dev:CodeWriter!eraseErrorFlags" sort="35" group="7. Errors Reporting" seq="0044"><Summary>Erases any error/warning indicators in the current diagram.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;eraseErrorFlags&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="error" sortGroup="true" scope="public" id="core.dev:CodeWriter!error" sort="35" group="7. Errors Reporting" seq="0045"><Summary>Reports an error.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;error&lt;/b&gt;(&lt;i&gt;msg&lt;/i&gt;, &lt;i&gt;obj&lt;/i&gt;, &lt;i&gt;hint&lt;/i&gt;) &amp;rarr; void"><Param name="msg" type="String">The error message.</Param><Param name="obj" type="gml:GmlObject!" default="" typeRef="&lt;q ref=&quot;core.gml:GmlObject&quot;&gt;GmlObject&lt;/q&gt;">The GML object associated with the error.</Param><Param name="hint" type="String">Optional hint about the error.</Param></Parameters><Return></Return></Method>
<Method name="getAllErrors" sortGroup="true" scope="public" id="core.dev:CodeWriter!getAllErrors" sort="35" group="7. Errors Reporting" seq="0046"><Summary>Gets the collection of all accumulated errors/warnings.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getAllErrors&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_ERROR&quot;&gt;GML_ERROR&lt;/q&gt;[key]"></Parameters><Return type="GML_ERROR[key]" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_ERROR&quot;&gt;GML_ERROR&lt;/q&gt;[key]">The errors collection.</Return></Method>
<Method name="getErrorsByUnit" sortGroup="true" scope="public" id="core.dev:CodeWriter!getErrorsByUnit" sort="35" group="7. Errors Reporting" seq="0047"><Summary>Gets the collection of all accumulated errors, grouped by unit/warnings.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getErrorsByUnit&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_ERROR&quot;&gt;GML_ERROR&lt;/q&gt;[unitId][]"></Parameters><Return type="GML_ERROR[unitId][]" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_ERROR&quot;&gt;GML_ERROR&lt;/q&gt;[unitId][]">The errors collection.</Return></Method>
<Method name="paintErrorFlags" sortGroup="true" scope="public" id="core.dev:CodeWriter!paintErrorFlags" sort="35" group="7. Errors Reporting" seq="0048"><Summary>Paints error/warning indicators next to all associated elements in the current diagram.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;paintErrorFlags&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="warning" sortGroup="true" scope="public" id="core.dev:CodeWriter!warning" sort="35" group="7. Errors Reporting" seq="0049"><Summary>Reports a warning.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;warning&lt;/b&gt;(&lt;i&gt;msg&lt;/i&gt;, &lt;i&gt;obj&lt;/i&gt;, &lt;i&gt;hint&lt;/i&gt;) &amp;rarr; void"><Param name="msg" type="String">The warning message.</Param><Param name="obj" type="gml:GmlObject!" default="" typeRef="&lt;q ref=&quot;core.gml:GmlObject&quot;&gt;GmlObject&lt;/q&gt;">The GML object associated with the warning.</Param><Param name="hint" type="String">Optional hint about the warning.</Param></Parameters><Return></Return></Method>
<Property name="linksCount" access="RO" type="Number" default="0" group="8. Links Reporting" sortGroup="true" scope="public" id="core.dev:CodeWriter!linksCount" sort="34" seq="0050"><Summary>Gets the number of links.</Summary></Property>
<Method name="getAllLinks" sortGroup="true" scope="public" id="core.dev:CodeWriter!getAllLinks" sort="35" group="8. Links Reporting" seq="0051"><Summary>Gets the collection of all links.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getAllLinks&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.dev:CodeWriter!GML_LINK&quot;&gt;GML_LINK&lt;/q&gt;[]"></Parameters><Return type="GML_LINK[]" typeRef="&lt;q ref=&quot;core.dev:CodeWriter!GML_LINK&quot;&gt;GML_LINK&lt;/q&gt;[]">The links collection.</Return></Method>
<Method name="link" sortGroup="true" scope="public" id="core.dev:CodeWriter!link" sort="35" group="8. Links Reporting" seq="0052"><Summary>Reports a link.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;link&lt;/b&gt;(&lt;i&gt;msg&lt;/i&gt;, &lt;i&gt;link&lt;/i&gt;, &lt;i&gt;hint&lt;/i&gt;) &amp;rarr; void"><Param name="msg" type="String">The link message.</Param><Param name="link" type="String">The link address.</Param><Param name="hint" type="String">Optional hint about the link.</Param></Parameters><Return></Return></Method>
<Property name="compactBlockBraces" type="Boolean" default="true" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!compactBlockBraces" sort="34" group="9. Settings" seq="0053"><Summary>Indicates whether opening brace of a block is placed inline or on the next line.</Summary><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
	&lt;i class=&quot;INSET&quot;&gt;compactBlockBraces = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
if (a &amp;lt; 0) {
   print(&quot;negative&quot;);
}
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;compactBlockBraces = false&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
if (a &amp;lt; 0) 
{
   print(&quot;negative&quot;);
}
&lt;/pre&gt;</Remarks></Property>
<Property name="compactBlockClauses" type="Boolean" default="true" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!compactBlockClauses" sort="34" group="9. Settings" seq="0054"><Summary>Indicates whether a block clause (e.g., Else, Catch, etc.) is placed inline or on the next line.</Summary><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
	&lt;i class=&quot;INSET&quot;&gt;compactBlockClauses = true&lt;/i&gt; and &lt;i&gt;compactBlockBraces = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
if (a &amp;lt; 0) {
   print(&quot;negative&quot;);
} else {
   print(&quot;positive&quot;);
}
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;compactBlockClauses = false&lt;/i&gt; and &lt;i&gt;compactBlockBraces = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
if (a &amp;lt; 0) {
   print(&quot;negative&quot;);
}
else {
   print(&quot;positive&quot;);
}
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;compactBlockClauses = false&lt;/i&gt; and &lt;i&gt;compactBlockBraces = false&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
if (a &amp;lt; 0) 
{
   print(&quot;negative&quot;);
}
else 
{
   print(&quot;positive&quot;);
}
&lt;/pre&gt;</Remarks></Property>
<Property name="compactOneLineBlocks" type="Boolean" default="false" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!compactOneLineBlocks" sort="34" group="9. Settings" seq="0055"><Summary>Indicates whether one-line blocks are placed inline or enclosed in braces on separate lines.</Summary><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
	&lt;i class=&quot;INSET&quot;&gt;compactOneLineBlocks = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
if (a &amp;lt; 0) print(&quot;negative&quot;); else print(&quot;positive&quot;);
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;compactOneLineBlocks = false&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
if (a &amp;lt; 0) {
   print(&quot;negative&quot;);
} else {
   print(&quot;positive&quot;);
}
&lt;/pre&gt;</Remarks></Property>
<Property name="completeStatements" type="Boolean" default="true" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!completeStatements" sort="34" group="9. Settings" seq="0056"><Summary>Indicates whether statement terminators should be automatically added to the end of lines in code blocks.</Summary><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
	&lt;i class=&quot;INSET&quot;&gt;completeStatements = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
function (a,b) {
   var c;
   c = a + b;
   print(c);
}
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;completeStatements = false&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
function (a,b) {
   var c
   c = a + b
   print(c)
}
&lt;/pre&gt;</Remarks></Property>
<Property name="indentBlockContents" type="Boolean" default="true" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!indentBlockContents" sort="34" group="9. Settings" seq="0057"><Summary>Indicates whether block contents are indented one level to the right of the block statement.</Summary><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
	&lt;i class=&quot;INSET&quot;&gt;indentBlockContents = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
function (a, b) {
   if (a &amp;lt; b) {
      print(&quot;a &amp;lt; b&quot;);
   } else {
      print(&quot;a &amp;gt; b&quot;);
   }
}
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;indentBlockContents = false&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
function (a, b) {
if (a &amp;lt; b) {
print(&quot;a &amp;lt; b&quot;);
} else {
print(&quot;a &amp;gt; b&quot;);
}
}
&lt;/pre&gt;</Remarks></Property>
<Property name="indentCaseContents" type="Boolean" default="true" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!indentCaseContents" sort="34" group="9. Settings" seq="0058"><Summary>Indicates whether case contents are indented one level to the right of the case labels.</Summary><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
	&lt;i class=&quot;INSET&quot;&gt;indentCaseContents = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
switch (type) {
   case 'A':
      print(&quot;A&quot;);
      break;

   case 'B':
      print(&quot;B&quot;);
      break;

   default:
      print(&quot;X&quot;);
      break;
}
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;indentCaseContents = false&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
switch (type) {
   case 'A':
   print(&quot;A&quot;);
   break;

   case 'B':
   print(&quot;B&quot;);
   break;

   default:
   print(&quot;X&quot;);
   break;
}
&lt;/pre&gt;</Remarks></Property>
<Property name="insertCaseSpacing" type="Boolean" default="true" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!insertCaseSpacing" sort="34" group="9. Settings" seq="0059"><Summary>Indicates whether to insert spacing between adjacent case clauses.</Summary><Remarks>&lt;h2&gt;Sample&lt;/h2&gt;
	&lt;i class=&quot;INSET&quot;&gt;insertCaseSpacing = true&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
switch (type) {
   case 'A':
      print(&quot;A&quot;);
      break;

   case 'B':
      print(&quot;B&quot;);
      break;

   default:
      print(&quot;X&quot;);
      break;
}
&lt;/pre&gt;

	&lt;i class=&quot;INSET&quot;&gt;insertCaseSpacing = false&lt;/i&gt;
&lt;pre style=&quot;margin-top:5&quot;&gt;
switch (type) {
   case 'A':
      print(&quot;A&quot;);
      break;
   case 'B':
      print(&quot;B&quot;);
      break;
   default:
      print(&quot;X&quot;);
      break;
}
&lt;/pre&gt;</Remarks></Property>
<Property name="newlineChar" type="String" default="'\r\n'" group="9. Settings" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!newlineChar" sort="34" seq="0060"><Summary>Gets or sets the newline characters sequence.</Summary></Property>
<Property name="pathChar" type="String" default="'\\'" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!pathChar" sort="34" group="9. Settings" seq="0061"><Summary>Gets or sets the path separator character.</Summary></Property>
<Property name="tabSize" type="Number" default="3" access="RW" sortGroup="true" scope="public" id="core.dev:CodeWriter!tabSize" sort="34" group="9. Settings" seq="0062"><Summary>Gets or sets the tab size (number of spaces).</Summary></Property>
</Topics>
</Class>