summaryrefslogtreecommitdiff
path: root/external/ikvm/ikvmstub/ikvmstub.cs
diff options
context:
space:
mode:
Diffstat (limited to 'external/ikvm/ikvmstub/ikvmstub.cs')
-rw-r--r--external/ikvm/ikvmstub/ikvmstub.cs12
1 files changed, 9 insertions, 3 deletions
diff --git a/external/ikvm/ikvmstub/ikvmstub.cs b/external/ikvm/ikvmstub/ikvmstub.cs
index 71446c9daf..5f882cae28 100644
--- a/external/ikvm/ikvmstub/ikvmstub.cs
+++ b/external/ikvm/ikvmstub/ikvmstub.cs
@@ -40,6 +40,7 @@ static class NetExp
private static bool includeSerialVersionUID;
private static bool includeNonPublicInterfaces;
private static bool includeNonPublicMembers;
+ private static bool includeParameterNames;
private static List<string> namespaces = new List<string>();
static int Main(string[] args)
@@ -106,6 +107,10 @@ static class NetExp
{
forwarders = true;
}
+ else if(s == "-parameters")
+ {
+ includeParameterNames = true;
+ }
else
{
// unrecognized option, or multiple assemblies, print usage message and exit
@@ -134,6 +139,7 @@ static class NetExp
Console.Error.WriteLine(" -lib:<dir> Additional directories to search for references");
Console.Error.WriteLine(" -namespace:<ns> Only include types from specified namespace");
Console.Error.WriteLine(" -forwarders Export forwarded types too");
+ Console.Error.WriteLine(" -parameters Emit Java 8 classes with parameter names");
return 1;
}
if(File.Exists(assemblyNameOrPath) && nostdlib)
@@ -323,7 +329,7 @@ static class NetExp
{
zipCount++;
MemoryStream mem = new MemoryStream();
- IKVM.StubGen.StubGenerator.WriteClass(mem, tw, includeNonPublicInterfaces, includeNonPublicMembers, includeSerialVersionUID);
+ IKVM.StubGen.StubGenerator.WriteClass(mem, tw, includeNonPublicInterfaces, includeNonPublicMembers, includeSerialVersionUID, includeParameterNames);
ZipEntry entry = new ZipEntry(tw.Name.Replace('.', '/') + ".class");
entry.Size = mem.Position;
zipFile.PutNextEntry(entry);
@@ -387,6 +393,7 @@ static class NetExp
try
{
ProcessClass(c);
+ WriteClass(c);
}
catch (Exception x)
{
@@ -400,7 +407,6 @@ static class NetExp
throw;
}
}
- WriteClass(c);
}
}
} while(keepGoing);
@@ -497,7 +503,7 @@ static class Intrinsics
static class StaticCompiler
{
- internal static readonly Universe Universe = new Universe();
+ internal static readonly Universe Universe = new Universe(UniverseOptions.EnableFunctionPointers);
internal static readonly AssemblyResolver Resolver = new AssemblyResolver();
internal static Assembly runtimeAssembly;