this.requiredPermissions = requiredPermissions;
this.optionalPermissions = optionalPermissions;
this.refusedPermissions = refusedPermissions;
- if (universe.HasMscorlib && universe.Mscorlib.ImageRuntimeVersion != null)
+ if (universe.HasMscorlib && !universe.Mscorlib.__IsMissing && universe.Mscorlib.ImageRuntimeVersion != null)
{
this.imageRuntimeVersion = universe.Mscorlib.ImageRuntimeVersion;
}
this.flags = flags;
}
+ public override AssemblyNameFlags __AssemblyFlags
+ {
+ get { return flags; }
+ }
+
public override AssemblyName GetName()
{
AssemblyName n = new AssemblyName();
ModuleWriter.HashChunk(fs, cs, buf, (int)fs.Length);
}
}
- FileTable.Record file = new FileTable.Record();
- file.Flags = flags;
- file.Name = manifestModule.Strings.Add(Path.GetFileName(fileName));
- file.HashValue = manifestModule.Blobs.Add(ByteBuffer.Wrap(hash.Hash));
- return 0x26000000 + manifestModule.File.AddRecord(file);
+ return manifestModule.__AddModule(flags, Path.GetFileName(fileName), hash.Hash);
}
public void AddResourceFile(string name, string fileName)
}
}
- sealed class ManifestModule : Module
+ sealed class ManifestModule : NonPEModule
{
private readonly AssemblyBuilder assembly;
private readonly Guid guid = Guid.NewGuid();
get { return guid; }
}
- public override Type ResolveType(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
- {
- throw new ArgumentException();
- }
-
- public override MethodBase ResolveMethod(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
- {
- throw new ArgumentException();
- }
-
- public override FieldInfo ResolveField(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
- {
- throw new ArgumentException();
- }
-
- public override MemberInfo ResolveMember(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
- {
- throw new ArgumentException();
- }
-
- public override string ResolveString(int metadataToken)
- {
- throw new ArgumentException();
- }
-
- public override Type[] __ResolveOptionalParameterTypes(int metadataToken)
- {
- throw new ArgumentException();
- }
-
public override string ScopeName
{
get { return "RefEmit_InMemoryManifestModule"; }
}
- public override AssemblyName[] __GetReferencedAssemblies()
- {
- throw new InvalidOperationException();
- }
-
- internal override Type GetModuleType()
- {
- throw new InvalidOperationException();
- }
-
- internal override IKVM.Reflection.Reader.ByteReader GetBlob(int blobIndex)
+ protected override Exception NotSupportedException()
{
- throw new InvalidOperationException();
+ return new InvalidOperationException();
}
}
}