Closed Tomazzzzz closed 1 year ago
Hello, well generation assembly file with command ikvmc -debug -out:jmmi86.dll -target:library jmmi.jar Am i getting different exception System.ArgumentException HResult=0x80070057 Message=The specified Type must not be a generic type definition. Parameter name: t Source=IKVM.Java StackTrace: at java.lang.ClassLoader.loadLibrary0(Class fromClass, File file) at java.lang.ClassLoader.loadLibrary(Class fromClass, String name, Boolean isAbsolute) at java.lang.Runtime.load0(Class fromClass, String filename) at java.lang.System.load(String filename, CallerID ) at com.ca.gen.jmmi.JMMILoader..cctor()
Seems it is failing here:
using ikvm.@internal;
using IKVM.Attributes;
using java.lang;
using System.Runtime.CompilerServices;
namespace com.ca.gen.jmmi
{
[SourceFile(null)]
public abstract class JMMILoader : Object
{
[SpecialName]
private static CallerID __<callerID>;
[SpecialName]
[MethodImpl(MethodImplOptions.NoInlining)]
protected internal static void __<clinit>(){ }
public static void load(){ }
[MethodImpl(MethodImplOptions.NoInlining)]
private JMMILoader(){ }
static JMMILoader()
{
string str = java.lang.System.getenv("IEFH");
java.lang.System.load(
new StringBuilder().append(str).append("\\genmodel_client.dll").toString(),
JMMILoader.__<GetCallerID>());
java.lang.System.load(
new StringBuilder().append(str).append("\\genmodel_jmmi.dll").toString(),
JMMILoader.__<GetCallerID>());
}
static CallerID __<GetCallerID>()
{
if (JMMILoader.__<callerID> == null)
JMMILoader.__<callerID> = (CallerID) new JMMILoader.__<CallerID>();
return JMMILoader.__<callerID>;
}
private sealed class __<CallerID> : CallerID
{
internal __<CallerID>(){ }
}
}
Source Java:
package com.ca.gen.jmmi;
public abstract class JMMILoader {
private JMMILoader() {
}
public static void load() {
}
static {
String var0 = System.getenv("IEFH");
System.load(var0 + "\\genmodel_client.dll");
System.load(var0 + "\\genmodel_jmmi.dll");
}
}
8.2.3 most likely isn't from Windward, but a newly created project:
Sorry you are right.
After upgrade to 8.2.3 from 8.1.5717 and regenerating dll with ikvmc -out:jmmi86.dll -target:library jmmi.jar am I getting runtime error. The specified Type must not be a generic type definition. The same code works fine with 8.1.5717 version.
EncyManager.connectLocal(generationTask.ModelPath);
_System.TypeInitializationException HResult=0x80131534 Message=The type initializer for 'com.ca.gen.jmmi.EncyManager' threw an exception. Source=jmmi86 StackTrace: at com.ca.gen.jmmi.EncyManager.connectLocal(String str) at Gen86Generator.GenGenerator.Generate(GenGenerationTask generationTask, Boolean massGeneration) in C:\Projects\Inhouse .NET Projects\MacGyver-DEV\GenGeneration\Gen86Generator\GenGenerator.cs:line 76This exception was originally thrown at this call stack: [External Code]
Inner Exception 1: TypeInitializationException: The type initializer for 'com.ca.gen.jmmi.JMMILoader' threw an exception.
Inner Exception 2: ArgumentException: The specified Type must not be a generic type definition. Parameter name: t_