IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
ImportOptions.cs
Go to the documentation of this file.
1#nullable enable
2
3using System;
4using System.Collections.Generic;
5using System.Collections.Immutable;
6using System.IO;
7
9
10namespace IKVM.Tools.Importer
11{
12
13 class ImportOptions : ICloneable
14 {
15
19 public FileInfo[] Inputs { get; set; } = [];
20
24 public FileInfo? Output { get; set; }
25
29 public string? AssemblyName { get; set; }
30
34 public Version? Version { get; set; }
35
39 public ImportTarget Target { get; set; } = ImportTarget.Unspecified;
40
44 public ImportPlatform Platform { get; set; } = ImportPlatform.Unspecified;
45
49 public FileInfo? KeyFile { get; set; }
50
54 public string? Key { get; set; }
55
59 public bool DelaySign { get; set; }
60
64 public string[] References { get; set; } = [];
65
69 public string[] Recurse { get; set; } = [];
70
74 public FileInfo? Exclude { get; set; }
75
79 public Version? FileVersion { get; set; }
80
84 public FileInfo? Win32Icon { get; set; }
85
89 public FileInfo? Win32Manifest { get; set; }
90
94 public IReadOnlyDictionary<string, FileInfo> Resources { get; set; } = ImmutableDictionary<string, FileInfo>.Empty;
95
99 public IReadOnlyDictionary<string, FileInfo> ExternalResources { get; set; } = ImmutableDictionary<string, FileInfo>.Empty;
100
104 public bool CompressResources { get; set; } = false;
105
109 public ImportDebug Debug { get; set; } = ImportDebug.None;
110
114 public bool NoAutoSerialization { get; set; } = false;
115
119 public bool NoGlobbing { get; set; } = false;
120
124 public bool NoJNI { get; set; } = false;
125
129 public bool RemoveUnusedPrivateFields { get; set; } = false;
130
134 public string[]? EnableAssertions { get; set; }
135
139 public string[]? DisableAssertions { get; set; }
140
144 public bool RemoveAssertions { get; set; } = false;
145
146 public bool StrictFinalFieldSemantics { get; set; } = false;
147
151 public Diagnostic[]? NoWarn { get; set; }
152
156 public Diagnostic[]? WarnAsError { get; set; }
157
161 public string? Main { get; set; }
162
166 public DirectoryInfo? SourcePath { get; set; }
167
168 public ImportApartment Apartment { get; set; } = ImportApartment.Unspecified;
169
173 public IReadOnlyDictionary<string, string> Properties { get; set; } = ImmutableDictionary<string, string>.Empty;
174
175 public bool NoStackTraceInfo { get; set; }
176
177 public string[] PrivatePackages { get; set; } = [];
178
179 public string[] PublicPackages { get; set; } = [];
180
184 public string? ClassLoader { get; set; }
185
189 public bool SharedClassLoader { get; set; } = false;
190
191 public string? BaseAddress { get; set; }
192
193 public string? FileAlign { get; set; }
194
195 public bool NoPeerCrossReference { get; set; } = false;
196
200 public bool NoStdLib { get; set; } = true;
201
202 public DirectoryInfo[] Libraries { get; set; } = [];
203
204 public bool HighEntropyVA { get; set; } = false;
205
209 public bool Static { get; set; } = false;
210
211 public FileInfo[] AssemblyAttributes { get; set; } = [];
212
213 public bool WarningLevel4Option { get; set; } = false;
214
215 public bool NoParameterReflection { get; set; } = false;
216
217 public FileInfo? Remap { get; set; }
218
219 public bool Time { get; set; } = false;
220
221 public string[] Proxies { get; set; } = [];
222
223 public bool AllowNonVirtualCalls { get; set; } = false;
224
225 public bool NoJarStubs { get; set; } = false;
226
230 public FileInfo? Runtime { get; set; }
231
235 public bool Bootstrap { get; set; } = false;
236
237 public string? Log { get; set; }
238
242 public bool Optimize { get; set; } = false;
243
247 public bool Deterministic { get; set; } = true;
248
252 public ImportOptions[] Nested { get; set; } = [];
253
256 {
257 return (ImportOptions)MemberwiseClone();
258 }
259
264 object ICloneable.Clone()
265 {
266 return Clone();
267 }
268
269 }
270
271}
IKVM.Reflection.AssemblyName AssemblyName
FileInfo? Win32Manifest
Win32 manifest to embed within the assembly.
FileInfo? Win32Icon
Win32 icon to configure on the assembly.
string[] References
Set of paths or names to assemblies to add as references.
bool Static
Enable static mode. This prevents generation of dynamic invocation delegates for missing classes.
IReadOnlyDictionary< string, string > Properties
Properties to be set in the JVM upon entry of the executable assembly.
string? Key
Identity of the key to use for signing.
ImportOptions[] Nested
Set of nested options when compiling multiple assemblies using the shared class loader.
bool NoJNI
Disables the usage of JNI in the generated assembly.
bool SharedClassLoader
Enable the shared class loader.
ImportDebug Debug
How debug symbols should be produced along with the assembly.
Diagnostic?[] NoWarn
List of warning Diagnostic types that should not issue warnings.
string? Main
Name of the main entry point class.
bool NoGlobbing
Disables globbing of Java command line arguments in the generated assembly.
Diagnostic?[] WarnAsError
List of warning Diagnostic types that should be elevated to an error.
IReadOnlyDictionary< string, FileInfo > ExternalResources
Set of external resource to add to the assembly.
string[] Recurse
Directories to recurse into to collect files.
bool Optimize
Enables optimizations.
FileInfo? Output
Path of the output assembly.
Version? Version
Version of the output assembly.
Version? FileVersion
File version to configure on the assembly.
string? ClassLoader
Set the name of a custom class loader for this assembly.
bool NoStdLib
Disables lookup of the standard library. This option is irrelevent since lookup of the standard libra...
DirectoryInfo? SourcePath
Root of the original source file path for debugging information.
string?[] EnableAssertions
If null, no assertions are enabled. If an empty array, all assertions are enabled....
string?[] DisableAssertions
If null, no assertions are disables. If an empty array, all assertions are disabled....
FileInfo[] Inputs
Input files to be compiled.
bool NoAutoSerialization
Whether to disable auto generation of serialization capabilities.
bool DelaySign
Whether the assembly should be delay signed.
bool RemoveUnusedPrivateFields
Enables removing unused fields from Java classes.
FileInfo? KeyFile
Path to the key to use for strong name signing.
FileInfo? Runtime
Path to the IKVM.Runtime assembly.
ImportPlatform Platform
Platform to build.
FileInfo? Exclude
Path to file containing exclude expressions.
bool CompressResources
Whether resources should be compressed.
bool Deterministic
Enables a deterministic assembly.
ImportTarget Target
Target to build.
bool RemoveAssertions
Removes assertions.
bool Bootstrap
Hidden option to enable bootstrap mode for compiling the BCL.