Initializes a new instance.
158 {
159 command = new RootCommand()
160 {
161 (outputOption = new Option<FileInfo>(
162 aliases: ["--out", "-out", "-o"],
163 description: "Specify the output filename.") { IsRequired = true }),
164 (referenceOption = new Option<FileInfo[]>(
165 aliases: ["--reference", "-reference", "-r"],
166 description: "Reference an assembly.")),
167 (libraryOption = new Option<DirectoryInfo[]>(
168 aliases: ["--lib", "-lib", "-l"],
169 description: "Additional directories to search for references.")),
170 (namespaceOption = new Option<string[]>(
171 aliases: ["--ns", "-ns"],
172 description: "Only include types from specified namespace.")),
173 (includeNonPublicTypesOption = new Option<bool>(
174 aliases: ["--non-public-types", "-non-public-types"],
175 description: "Include classes for non-public types.")),
176 (includeNonPublicInterfacesOption = new Option<bool>(
177 aliases: ["--non-public-interfaces", "-non-public-interfaces"],
178 description: "Include non-public interface implementations.")),
179 (includeNonPublicMembersOption = new Option<bool>(
180 aliases: ["--non-public-members", "-non-public-members"],
181 description: "Include non-public members.")),
182 (includeParameterNamesOption = new Option<bool>(
183 aliases: ["--parameters", "-parameters"],
184 description: "Include parameter names.")),
185 (forwardersOption = new Option<bool>(
186 aliases: ["--forwarders", "-forwarders"],
187 description: "Export forwarded types.")),
188 (noStdLibOption = new Option<bool>(
189 aliases: ["--nostdlib", "-nostdlib"],
190 description: "Do not reference standard libraries.")),
191 (sharedOption = new Option<bool>(
192 aliases: ["--shared", "-shared"],
193 description: "Process all assemblies in shared group.")),
194 (bootstrapOption = new Option<bool>(
195 aliases: ["--bootstrap", "-bootstrap"],
196 description: "Enabled bootstrap mode.") { IsHidden = true }),
197 (continueOnErrorOption = new Option<bool>(
198 aliases: ["--skiperror", "-skiperror"],
199 description: "Continue when errors are encountered.")),
200 (logOption = new Option<string>(
201 aliases: ["--log", "-log"],
202 getDefaultValue: () => "text",
203 description: "Logging options.")),
204 (assemblyArgument = new Argument<FileInfo>(
205 name: "assemblyNameOrPath",
206 description: "Path or name of assembly to export.")),
207 };
208
209 command.SetHandler(ExecuteImplAsync);
210 }