From: Gert D. <dri...@us...> - 2004-11-17 08:48:00
|
Update of /cvsroot/nant/nant/src/NAnt.MSNet/Tasks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16867/src/NAnt.MSNet/Tasks Modified Files: IldasmTask.cs Log Message: added docs, fail task if input file does not exist Index: IldasmTask.cs =================================================================== RCS file: /cvsroot/nant/nant/src/NAnt.MSNet/Tasks/IldasmTask.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** IldasmTask.cs 16 Nov 2004 21:58:09 -0000 1.6 --- IldasmTask.cs 17 Nov 2004 08:47:50 -0000 1.7 *************** *** 35,38 **** --- 35,52 ---- /// intermediate language (IL) code. /// </summary> + /// <remarks> + /// <para> + /// Files are only disassembled if the input file is newer than the output + /// file, or if the output file does not exist. However, you can + /// explicitly force files to be disassembled with the + /// <see cref="ForceRebuild" /> attribute. + /// </para> + /// <para> + /// A <see cref="FileSet" /> can be used to select files to disassemble. + /// To use a <see cref="FileSet" />, the <see cref="ToDirectory" /> + /// attribute must be set. The file name of the output file will be equal + /// to the file name of the input file, but with extension ".il". + /// </para> + /// </remarks> /// <example> /// <para> *************** *** 93,97 **** /// <summary> /// Specifies whether or not the disassembler should combine the ! /// <c>/HEADER</c>, <c>/BYTE</c>, and <c>/TOKENS</c> options. /// </summary> /// <value> --- 107,112 ---- /// <summary> /// Specifies whether or not the disassembler should combine the ! /// <c>/HEADER</c>, <c>/BYTE</c>, and <c>/TOKENS</c> options. The default ! /// is <see langword="false" />. /// </summary> /// <value> *************** *** 116,119 **** --- 131,135 ---- /// Specifies whether or not the disassembler should generate the /// IL stream bytes (in hexadecimal notation) as instruction comments. + /// The default is <see langword="false" />. /// </summary> /// <value> *************** *** 136,140 **** /// <summary> /// Instructs NAnt to rebuild the output file regardless of the file ! /// timestamps. /// </summary> /// <value> --- 152,156 ---- /// <summary> /// Instructs NAnt to rebuild the output file regardless of the file ! /// timestamps. The default is <see langword="false" />. /// </summary> /// <value> *************** *** 152,156 **** /// <summary> /// Specifies whether or not the disassembler should include PE header ! /// information and runtime header information in the output. /// </summary> /// <value> --- 168,173 ---- /// <summary> /// Specifies whether or not the disassembler should include PE header ! /// information and runtime header information in the output. The default ! /// is <see langword="false" />. /// </summary> /// <value> *************** *** 186,190 **** /// <summary> /// Specifies whether or not the disassembler should include ! /// references to original source lines. /// </summary> /// <value> --- 203,207 ---- /// <summary> /// Specifies whether or not the disassembler should include ! /// references to original source lines. The default is <see langword="false" />. /// </summary> /// <value> *************** *** 207,211 **** /// <summary> /// Specifies whether or not the disassembler should suppress ILASM ! /// code output. /// </summary> /// <value> --- 224,228 ---- /// <summary> /// Specifies whether or not the disassembler should suppress ILASM ! /// code output. The default is <see langword="false" />. /// </summary> /// <value> *************** *** 228,232 **** /// <summary> /// Specifies whether or not the disassembler should disassemble ! /// public items only. This is a shortcut for <c>visibility="pub"</c>. /// </summary> /// <value> --- 245,250 ---- /// <summary> /// Specifies whether or not the disassembler should disassemble ! /// public items only. This is a shortcut for <see cref="Visibility" />="pub". ! /// The default is <see langword="false" />. /// </summary> /// <value> *************** *** 250,254 **** /// Specifies whether or not the disassembler should enclose all names /// in single quotation marks. By default, only names that don't match ! /// the ILASM definition of a simple name are quoted. /// </summary> /// <value> --- 268,273 ---- /// Specifies whether or not the disassembler should enclose all names /// in single quotation marks. By default, only names that don't match ! /// the ILASM definition of a simple name are quoted. The default is ! /// <see langword="false" />. /// </summary> /// <value> *************** *** 272,275 **** --- 291,295 ---- /// Specifies whether or not the disassembler should generate /// structured exception handling clauses in canonical (label) form. + /// The default is <see langword="false" />. /// </summary> /// <value> *************** *** 292,296 **** /// <summary> /// Specifies whether or not the disassembler should generate ! /// original source lines as comments. /// </summary> /// <value> --- 312,316 ---- /// <summary> /// Specifies whether or not the disassembler should generate ! /// original source lines as comments. The default is <see langword="false" />. /// </summary> /// <value> *************** *** 313,317 **** /// <summary> /// Specifies whether or not the disassembler should generate metadata ! /// token values as comments. /// </summary> /// <value> --- 333,337 ---- /// <summary> /// Specifies whether or not the disassembler should generate metadata ! /// token values as comments. The default is <see langword="false" />. /// </summary> /// <value> *************** *** 395,405 **** /// <summary> /// Instructs the disassembler to disassemble only the items with the ! /// specified visibility. /// </summary> /// <value> /// A <see cref="System.String" /> that contains the visibility ! /// suboptions. Possible values are <c>PUB</c>, <c>PRI</c>, ! /// <c>FAM</c>, <c>ASM</c>, <c>FAA</c>, <c>FOA</c>, <c>PSC</c>, ! /// or any combination of them separated by <c>+</c>. /// </value> /// <remarks> --- 415,425 ---- /// <summary> /// Instructs the disassembler to disassemble only the items with the ! /// specified visibility. Possible values are <c>PUB</c>, <c>PRI</c>, ! /// <c>FAM</c>, <c>ASM</c>, <c>FAA</c>, <c>FOA</c>, <c>PSC</c>, ! /// or any combination of them separated by <c>+</c>. /// </summary> /// <value> /// A <see cref="System.String" /> that contains the visibility ! /// suboptions. /// </value> /// <remarks> *************** *** 447,451 **** /// <summary> ! /// Specifies a list of PE files to disassemble. /// </summary> /// <value> --- 467,472 ---- /// <summary> ! /// Specifies a list of PE files to disassemble. To use a <see cref="FileSet" />, ! /// the <see cref="ToDirectory" /> attribute must be specified. /// </summary> /// <value> *************** *** 464,467 **** --- 485,499 ---- /// <summary> + /// The command-line arguments for the external program. + /// </summary> + /// <remarks> + /// Overridden to ensure the <arg> elements would not be exposed + /// to build authors. + /// </remarks> + public override ArgumentCollection Arguments { + get { return base.Arguments; } + } + + /// <summary> /// Gets the command-line arguments for the external program. /// </summary> *************** *** 505,509 **** /// <summary> ! /// Disassembles the PE files. /// </summary> protected override void ExecuteTask() { --- 537,541 ---- /// <summary> ! /// Disassembles the PE file(s). /// </summary> protected override void ExecuteTask() { *************** *** 527,530 **** --- 559,569 ---- /// <param name="inputFile">The PE file to disassemble.</param> private void DisassemblyFile(FileInfo inputFile) { + // verify if input file actually exists + if (!inputFile.Exists) { + throw new BuildException(string.Format(CultureInfo.InvariantCulture, + "Input file '{0}' does not exist.", inputFile.FullName), + Location); + } + // determine output file corresponding with PE file FileInfo outputFile = GetOutputFile(inputFile); *************** *** 557,561 **** /// <returns> /// A <see cref="System.IO.FileInfo" /> that represents the full path ! /// (with extensions) for the output file. /// </returns> /// <exception cref="BuildException">The path of the output file could not be determined.</exception> --- 596,600 ---- /// <returns> /// A <see cref="System.IO.FileInfo" /> that represents the full path ! /// for the output file. /// </returns> /// <exception cref="BuildException">The path of the output file could not be determined.</exception> *************** *** 688,694 **** /// </param> private void WriteOption(StringWriter writer, string name, string arg) { - // // always quote arguments - // writer.Write("\"/{0}={1}\" ", name, arg); } --- 727,731 ---- |