protected override Object GetCustomOption(String name){
if (String.Compare(name, "CLSCompliant", StringComparison.OrdinalIgnoreCase) == 0)
return this.isCLSCompliant;
else if (String.Compare(name, "fast", StringComparison.OrdinalIgnoreCase) == 0)
return this.doFast;
else if (String.Compare(name, "output", StringComparison.OrdinalIgnoreCase) == 0)
return this.PEFileName;
else if (String.Compare(name, "PEFileKind", StringComparison.OrdinalIgnoreCase) == 0)
return this.PEFileKind;
else if (String.Compare(name, "PortableExecutableKind", StringComparison.OrdinalIgnoreCase) == 0)
return this.PEKindFlags;
else if (String.Compare(name, "ImageFileMachine", StringComparison.OrdinalIgnoreCase) == 0)
return this.PEMachineArchitecture;
else if (String.Compare(name, "ReferenceLoaderAPI", StringComparison.OrdinalIgnoreCase) == 0) {
switch (this.ReferenceLoaderAPI) {
case LoaderAPI.LoadFrom: return "LoadFrom";
case LoaderAPI.LoadFile: return "LoadFile";
case LoaderAPI.ReflectionOnlyLoadFrom: return "ReflectionOnlyLoadFrom";
default: throw new VsaException(VsaError.OptionNotSupported);
}
}
else if (String.Compare(name, "print", StringComparison.OrdinalIgnoreCase) == 0)
return this.doPrint;
else if (String.Compare(name, "UseContextRelativeStatics", StringComparison.OrdinalIgnoreCase) == 0)
return this.doCRS;
// the next two are needed because of the ICompiler interface. They should not fail even though they may not do anything
else if (String.Compare(name, "optimize", StringComparison.OrdinalIgnoreCase) == 0)
return null;
else if (String.Compare(name, "define", StringComparison.OrdinalIgnoreCase) == 0)
return null;
else if (String.Compare(name, "defines", StringComparison.OrdinalIgnoreCase) == 0)
return this.Defines;
else if (String.Compare(name, "ee", StringComparison.OrdinalIgnoreCase) == 0)
return VsaEngine.executeForJSEE;
else if (String.Compare(name, "version", StringComparison.OrdinalIgnoreCase) == 0)
return this.versionInfo;
else if (String.Compare(name, "VersionSafe", StringComparison.OrdinalIgnoreCase) == 0)
return this.versionSafe;
else if (String.Compare(name, "warnaserror", StringComparison.OrdinalIgnoreCase) == 0)
return this.doWarnAsError;
else if (String.Compare(name, "WarningLevel", StringComparison.OrdinalIgnoreCase) == 0)
return this.nWarningLevel;
else if (String.Compare(name, "managedResources", StringComparison.OrdinalIgnoreCase) == 0)
return this.managedResources;
else if (String.Compare(name, "alwaysGenerateIL", StringComparison.OrdinalIgnoreCase) == 0)
return this.alwaysGenerateIL;
else if (String.Compare(name, "DebugDirectory", StringComparison.OrdinalIgnoreCase) == 0)
return this.debugDirectory;
else if (String.Compare(name, "AutoRef", StringComparison.OrdinalIgnoreCase) == 0)
return this.autoRef;
else
throw new VsaException(VsaError.OptionNotSupported);
}