diff --git a/src/documentation/articles/usageReflector.md b/src/documentation/articles/usageReflector.md
index d8adcd7e0a0..be1ed8c0437 100644
--- a/src/documentation/articles/usageReflector.md
+++ b/src/documentation/articles/usageReflector.md
@@ -76,7 +76,6 @@ _jnetreflector_ accepts the following command-line switch:
* **DoNotCamel**: Does not use camelized names in methods, class and so on
* **TraceLevel**: The level of traces to be reported: 0 - Critical ... 5 - Verbose
* **TraceTo**: The file name where traces will be write, default write to console
-* **AlwaysUseIDisposablePattern**: The generator do not use the JCOBridge base class without IDisposable (JVMBridgeCore) and fallback to previous class JVMBridgeBase
## JNet reflected classes
diff --git a/src/net/JNet/Specific/Extensions/JNetCoreExtensions.cs b/src/net/JNet/Specific/Extensions/JNetCoreExtensions.cs
index e5fd248e46b..e99d39d2f44 100644
--- a/src/net/JNet/Specific/Extensions/JNetCoreExtensions.cs
+++ b/src/net/JNet/Specific/Extensions/JNetCoreExtensions.cs
@@ -29,18 +29,6 @@ namespace MASES.JNet.Specific.Extensions
///
public static class JNetCoreExtensions
{
- ///
- /// Converts any instance of in to an
- ///
- /// The instance to convert
- /// The instance
- /// The method check if implements and returns that instance, otherwise wraps into an
- public static IDisposable ToDisposable(this JVMBridgeCore bridge)
- {
- if (bridge is IDisposable disposable) return disposable;
- return JVMBridgeCoreDisposable.Create(bridge);
- }
-
///
/// Builds a new var-arg result starting from fixed parameters stored in and the argument available in
///
@@ -87,7 +75,7 @@ public static Java.Lang.Class Class(this TClass _) where TClass
public static TWrap DirectBufferWithWrap(this TData[] data, bool useMemoryControlBlock = true, bool arrangeCapacity = true, int timeToLive = System.Threading.Timeout.Infinite, Func converter = null) where TWrap : IJVMBridgeBase
{
var buf = JCOBridge.C2JBridge.JCOBridge.Global.JVM.NewDirectBuffer(data, useMemoryControlBlock, arrangeCapacity, timeToLive);
- if (data is byte[]) return JVMBridgeCore.WrapsDirect(buf.DisableCleanupAndReturn());
+ if (data is byte[]) return JVMBridgeBase.WrapsDirect(buf.DisableCleanupAndReturn());
else
{
IJVMBridgeBase ibb;
diff --git a/src/net/JNetReflector/InternalConst.cs b/src/net/JNetReflector/InternalConst.cs
index f7efb002ac6..51a70acf67a 100644
--- a/src/net/JNetReflector/InternalConst.cs
+++ b/src/net/JNetReflector/InternalConst.cs
@@ -72,7 +72,6 @@ class CLIParam : MASES.JNet.CLIParam
public const string DoNotCamel = "DoNotCamel";
public const string TraceLevel = "TraceLevel";
public const string TraceTo = "TraceTo";
- public const string AlwaysUseIDisposablePattern = "AlwaysUseIDisposablePattern";
}
public static class SpecialNames
diff --git a/src/net/JNetReflector/InternalExtensions.cs b/src/net/JNetReflector/InternalExtensions.cs
index 0823ddbe9c5..cf223edb028 100644
--- a/src/net/JNetReflector/InternalExtensions.cs
+++ b/src/net/JNetReflector/InternalExtensions.cs
@@ -1421,7 +1421,7 @@ public static bool HasJVMBaseClassName(this Class entry, bool usedInGenerics, bo
}
}
- public static string JVMBaseClassName(this Class entry, bool isClassCloseable, bool usedInGenerics, bool isListener, bool camel, out bool baseClassIsJVMBridgeBase)
+ public static string JVMBaseClassName(this Class entry, bool usedInGenerics, bool isListener, bool camel, out bool baseClassIsJVMBridgeBase)
{
baseClassIsJVMBridgeBase = false;
if (isListener)
@@ -1436,9 +1436,7 @@ public static string JVMBaseClassName(this Class entry, bool isClassCloseable, b
{
baseClassIsJVMBridgeBase = true;
string className = entry.JVMClassName(null, usedInGenerics, false);
- return JNetReflectorCore.AlwaysUseIDisposablePattern
- || isClassCloseable ? $"MASES.JCOBridge.C2JBridge.JVMBridgeBase<{className}>"
- : $"MASES.JCOBridge.C2JBridge.JVMBridgeCore<{className}>";
+ return $"MASES.JCOBridge.C2JBridge.JVMBridgeBase<{className}>";
}
try
{
@@ -1515,9 +1513,7 @@ public static string JVMBaseClassName(this Class entry, bool isClassCloseable, b
{
baseClassIsJVMBridgeBase = true;
string innerName = entry.JVMClassName(null, usedInGenerics, false);
- return JNetReflectorCore.AlwaysUseIDisposablePattern
- || isClassCloseable ? $"MASES.JCOBridge.C2JBridge.JVMBridgeBase<{innerName}>"
- : $"MASES.JCOBridge.C2JBridge.JVMBridgeCore<{innerName}>";
+ return $"MASES.JCOBridge.C2JBridge.JVMBridgeBase<{innerName}>";
}
}
else if ((usedInGenerics || !entry.IsJVMGenericClass()) && superCls.IsJVMGenericClass())
@@ -1530,17 +1526,15 @@ public static string JVMBaseClassName(this Class entry, bool isClassCloseable, b
{
baseClassIsJVMBridgeBase = true;
string className = entry.JVMClassName(null, usedInGenerics, false);
- return JNetReflectorCore.AlwaysUseIDisposablePattern
- || isClassCloseable ? $"MASES.JCOBridge.C2JBridge.JVMBridgeBase<{className}>"
- : $"MASES.JCOBridge.C2JBridge.JVMBridgeCore<{className}>";
+ return $"MASES.JCOBridge.C2JBridge.JVMBridgeBase<{className}>";
}
}
- public static string JVMBaseInterfaceName(this Class entry, bool isClassCloseable, bool usedInGenerics, bool isListener, bool camel)
+ public static string JVMBaseInterfaceName(this Class entry, bool usedInGenerics, bool isListener, bool camel)
{
if (!entry.HasJVMBaseClassName(usedInGenerics, isListener, camel)) return string.Empty;
- var fName = entry.JVMBaseClassName(isClassCloseable, usedInGenerics, isListener, camel, out _);
+ var fName = entry.JVMBaseClassName(usedInGenerics, isListener, camel, out _);
return ToFullQualifiedInterfaceName(fName, camel);
}
diff --git a/src/net/JNetReflector/InternalMethods.cs b/src/net/JNetReflector/InternalMethods.cs
index db2996a52a7..afe2a939369 100644
--- a/src/net/JNetReflector/InternalMethods.cs
+++ b/src/net/JNetReflector/InternalMethods.cs
@@ -766,7 +766,7 @@ static void PrepareSingleClass(this Class jClass, IEnumerable classDefini
.Replace(AllPackageClasses.ClassStub.SIMPLECLASS, jClass.JVMClassName(null, false, false))
.Replace(AllPackageClasses.ClassStub.CLASS, jClass.JVMClassName(null, isGeneric, false))
.Replace(AllPackageClasses.ClassStub.HELP, jClass.JavadocHrefUrl(JNetReflectorCore.UseCamel))
- .Replace(AllPackageClasses.ClassStub.BASECLASS, jClass.JVMBaseClassName(isClassCloseable, isGeneric, false, JNetReflectorCore.UseCamel, out _))
+ .Replace(AllPackageClasses.ClassStub.BASECLASS, jClass.JVMBaseClassName(isGeneric, false, JNetReflectorCore.UseCamel, out _))
.Replace(AllPackageClasses.ClassStub.WHERECLAUSES, string.Empty);
}
else
@@ -779,7 +779,7 @@ static void PrepareSingleClass(this Class jClass, IEnumerable classDefini
.Replace(AllPackageClasses.ClassStub.CLASS, jClass.JVMClassName(new List>(), isGeneric, false))
.Replace(AllPackageClasses.ClassStub.CLASS_DIRECT, jClass.JVMClassName(new List>(), isGeneric, true))
.Replace(AllPackageClasses.ClassStub.HELP, jClass.JavadocHrefUrl(JNetReflectorCore.UseCamel))
- .Replace(AllPackageClasses.ClassStub.BASECLASS, jClass.JVMBaseClassName(isClassCloseable, isGeneric, jClassIsListener, JNetReflectorCore.UseCamel, out bool baseClassIsJVMBridgeBase) + (isMainClass ? SpecialNames.MainClassPlaceHolder : string.Empty))
+ .Replace(AllPackageClasses.ClassStub.BASECLASS, jClass.JVMBaseClassName(isGeneric, jClassIsListener, JNetReflectorCore.UseCamel, out bool baseClassIsJVMBridgeBase) + (isMainClass ? SpecialNames.MainClassPlaceHolder : string.Empty))
.Replace(AllPackageClasses.ClassStub.WHERECLAUSES, jClass.WhereClauses(isGeneric, JNetReflectorCore.UseCamel))
.Replace(AllPackageClasses.ClassStub.ISABSTRACT, isClassAbstract ? "true" : "false")
.Replace(AllPackageClasses.ClassStub.ISCLOSEABLE, isClassCloseable ? "true" : "false")
@@ -819,7 +819,7 @@ static void PrepareSingleClass(this Class jClass, IEnumerable classDefini
singleInterfaceStr = string.Empty;
if (createInterfaceData)
{
- string baseInterface = jClass.JVMBaseInterfaceName(isClassCloseable, isGeneric, jClassIsListener, JNetReflectorCore.UseCamel);
+ string baseInterface = jClass.JVMBaseInterfaceName(isGeneric, jClassIsListener, JNetReflectorCore.UseCamel);
if (!string.IsNullOrWhiteSpace(baseInterface))
{
baseInterface = " : " + baseInterface;
diff --git a/src/net/JNetReflector/JNetReflectorCore.cs b/src/net/JNetReflector/JNetReflectorCore.cs
index 9e15b7cf78e..bca5fc67860 100644
--- a/src/net/JNetReflector/JNetReflectorCore.cs
+++ b/src/net/JNetReflector/JNetReflectorCore.cs
@@ -164,8 +164,6 @@ public JVMOption(string optionName, string optionValue)
public int TraceLevel { get; set; }
public string TraceTo { get; set; }
-
- public bool AlwaysUseIDisposablePattern { get; set; }
}
#region Initialization
@@ -601,9 +599,6 @@ public JNetReflectorCore()
static string _TraceTo;
public static string TraceTo => _TraceTo ?? _ConfigurationFromFile.TraceTo;
- static bool? _AlwaysUseIDisposablePattern;
- public static bool AlwaysUseIDisposablePattern => _AlwaysUseIDisposablePattern ?? _ConfigurationFromFile.AlwaysUseIDisposablePattern;
-
///
protected override string[] ProcessCommandLine()
{
@@ -836,7 +831,6 @@ protected override string[] ProcessCommandLine()
if (ParsedArgs.Exist(CLIParam.AvoidParallelBuild)) _AvoidParallelBuild = true;
if (ParsedArgs.Exist(CLIParam.DryRun)) _DryRun = true;
if (ParsedArgs.Exist(CLIParam.DoNotCamel)) _UseCamel = false;
- if (ParsedArgs.Exist(CLIParam.AlwaysUseIDisposablePattern)) _AlwaysUseIDisposablePattern = true;
_TraceLevel = ParsedArgs.Get(CLIParam.TraceLevel);
_TraceTo = ParsedArgs.Get(CLIParam.TraceTo);
diff --git a/src/net/JNetReflector/Templates/AllPackageClassesStubClass.template b/src/net/JNetReflector/Templates/AllPackageClassesStubClass.template
index 8a295aadf65..d3bf117fee3 100644
--- a/src/net/JNetReflector/Templates/AllPackageClassesStubClass.template
+++ b/src/net/JNetReflector/Templates/AllPackageClassesStubClass.template
@@ -14,7 +14,7 @@ public partial class ALLPACKAGE_CLASSES_STUB_CLASS_PLACEHOLDER : ALLPACKAGE_CLAS
public ALLPACKAGE_CLASSES_STUB_SIMPLECLASS_PLACEHOLDER(params object[] args) : base(args) { }
private static readonly global::System.Exception _LocalBridgeClazzException = null;
- private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeCore.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);
+ private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeBase.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);
private static MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType LocalBridgeClazz => _LocalBridgeClazz ?? throw _LocalBridgeClazzException ?? new global::System.InvalidOperationException($"Class {_bridgeClassName} was not found.");
///
diff --git a/src/net/JNetReflector/Templates/AllPackageClassesStubClassInterfaceOrAbstract.template b/src/net/JNetReflector/Templates/AllPackageClassesStubClassInterfaceOrAbstract.template
index 447e0691cd7..f54c8b3c5c0 100644
--- a/src/net/JNetReflector/Templates/AllPackageClassesStubClassInterfaceOrAbstract.template
+++ b/src/net/JNetReflector/Templates/AllPackageClassesStubClassInterfaceOrAbstract.template
@@ -15,7 +15,7 @@ public partial class ALLPACKAGE_CLASSES_STUB_CLASS_PLACEHOLDER : ALLPACKAGE_CLAS
public ALLPACKAGE_CLASSES_STUB_SIMPLECLASS_PLACEHOLDER(params object[] args) : base(args) { }
private static readonly global::System.Exception _LocalBridgeClazzException = null;
- private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeCore.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);
+ private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeBase.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);
private static MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType LocalBridgeClazz => _LocalBridgeClazz ?? throw _LocalBridgeClazzException ?? new global::System.InvalidOperationException($"Class {_bridgeClassName} was not found.");
///
diff --git a/src/net/JNetReflector/Templates/AllPackageClassesStubClassListener.template b/src/net/JNetReflector/Templates/AllPackageClassesStubClassListener.template
index 86435658499..e92bcca061f 100644
--- a/src/net/JNetReflector/Templates/AllPackageClassesStubClassListener.template
+++ b/src/net/JNetReflector/Templates/AllPackageClassesStubClassListener.template
@@ -42,7 +42,7 @@ public partial class ALLPACKAGE_CLASSES_STUB_CLASS_DIRECT_PLACEHOLDER : ALLPACKA
const string _bridgeClassName = "ALLPACKAGE_CLASSES_STUB_JAVACLASS_DIRECT_PLACEHOLDER";
private static readonly global::System.Exception _LocalBridgeClazzException = null;
- private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeCore.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);
+ private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeBase.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);
private static MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType LocalBridgeClazz => _LocalBridgeClazz ?? throw _LocalBridgeClazzException ?? new global::System.InvalidOperationException($"Class {_bridgeClassName} was not found.");
///
diff --git a/src/net/JNetReflector/Templates/Templates.cs b/src/net/JNetReflector/Templates/Templates.cs
index b9c64c8e4b8..fe9fa86d79a 100644
--- a/src/net/JNetReflector/Templates/Templates.cs
+++ b/src/net/JNetReflector/Templates/Templates.cs
@@ -160,7 +160,7 @@ public class ClassStub
public static string LISTENER_CLASS_BLOCK = " const string _bridgeClassName = \"ALLPACKAGE_CLASSES_STUB_JAVACLASS_PLACEHOLDER\";" + Environment.NewLine
+ " private static readonly global::System.Exception _LocalBridgeClazzException = null;" + Environment.NewLine
- + " private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeCore.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);" + Environment.NewLine
+ + " private static readonly MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType _LocalBridgeClazz = JVMBridgeBase.ClazzOf(_bridgeClassName, out _LocalBridgeClazzException, false);" + Environment.NewLine
+ " private static MASES.JCOBridge.C2JBridge.JVMInterop.IJavaType LocalBridgeClazz => _LocalBridgeClazz ?? throw _LocalBridgeClazzException ?? new global::System.InvalidOperationException($\"Class {_bridgeClassName} was not found.\");" + Environment.NewLine
+ " " + Environment.NewLine
+ " /// " + Environment.NewLine