forked from dotnet/java-interop
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJavaApiTestHelper.cs
More file actions
39 lines (34 loc) · 1.52 KB
/
JavaApiTestHelper.cs
File metadata and controls
39 lines (34 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.IO;
using Java.Interop.Tools.JavaTypeSystem.Models;
namespace Java.Interop.Tools.JavaTypeSystem.Tests
{
public class JavaApiTestHelper
{
static readonly string TopDir = Path.Combine (Path.GetDirectoryName (typeof (JavaApiTestHelper).Assembly.Location), "..", "..");
static readonly string ApiPath = Path.Combine (TopDir, "tests", "Java.Interop.Tools.JavaTypeSystem-Tests", "api-24.xml.in");
public static JavaTypeCollection GetLoadedApi ()
{
return JavaXmlApiImporter.Parse (ApiPath);
}
public static JavaClassModel CreateClass (JavaPackage javaPackage, string javaNestedName, string javaVisibility = "public", bool javaAbstract = false, bool javaFinal = false, string javaBaseType = "java.lang.Object", string javaBaseTypeGeneric = "java.lang.Object", string javaDeprecated = "not deprecated", bool javaStatic = false, string jniSignature = "", string baseTypeJni = "java/lang/Object")
{
if (string.IsNullOrWhiteSpace (jniSignature))
jniSignature = $"{(!string.IsNullOrWhiteSpace (javaPackage.Name) ? javaPackage.Name + "." : "")}{javaNestedName}".Replace ('.', '/');
var klass = new JavaClassModel (
javaPackage: javaPackage,
javaNestedName: javaNestedName,
javaVisibility: javaVisibility,
javaAbstract: javaAbstract,
javaFinal: javaFinal,
javaBaseType: javaBaseType,
javaBaseTypeGeneric: javaBaseTypeGeneric,
javaDeprecated: javaDeprecated,
javaStatic: javaStatic,
jniSignature: jniSignature,
baseTypeJni: baseTypeJni
);
return klass;
}
}
}