openfl
Version:
A fast, productive library for 2D cross-platform development.
113 lines (96 loc) • 3.11 kB
JavaScript
// Class: lime.system.JNI
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../../hxClasses_stub").default;
var $hxEnums = require("./../../hxEnums_stub").default;
var $import = require("./../../import_stub").default;
function haxe_ds_StringMap() {return require("./../../haxe/ds/StringMap");}
function EReg() {return require("./../../EReg");}
function Reflect() {return require("./../../Reflect");}
function lime_system_JNIMemberField() {return require("./../../lime/system/JNIMemberField");}
function lime_system_JNIStaticField() {return require("./../../lime/system/JNIStaticField");}
function haxe_Log() {return require("./../../haxe/Log");}
// Constructor
var JNI = function(){}
// Meta
JNI.__name__ = "lime.system.JNI";
JNI.__isInterface__ = false;
JNI.prototype = {
};
JNI.prototype.__class__ = JNI.prototype.constructor = $hxClasses["lime.system.JNI"] = JNI;
// Init
// Statics
JNI.transformClassName = function(className) {
var parts = className.split(".");
if(parts.length <= 1) {
return className;
}
var nestedClassName = "";
if(new (EReg().default)("^[A-Z]","").match(parts[parts.length - 2])) {
nestedClassName = "$" + parts.pop();
}
return parts.join("/") + nestedClassName;
}
JNI.callMember = function(method,jobject,a) {
return (Reflect().default).callMethod(null,method,[jobject].concat(a));
}
JNI.callStatic = function(method,a) {
return (Reflect().default).callMethod(null,method,a);
}
JNI.createMemberField = function(className,memberName,signature) {
JNI.init();
return new (lime_system_JNIMemberField().default)(null);
}
JNI.createMemberMethod = function(className,memberName,signature,useArray,quietFail) {
if(quietFail == null) {
quietFail = false;
}
if(useArray == null) {
useArray = false;
}
JNI.init();
return null;
}
JNI.createStaticField = function(className,memberName,signature) {
JNI.init();
return new (lime_system_JNIStaticField().default)(null);
}
JNI.createStaticMethod = function(className,memberName,signature,useArray,quietFail) {
if(quietFail == null) {
quietFail = false;
}
if(useArray == null) {
useArray = false;
}
JNI.init();
return null;
}
JNI.getEnv = function() {
JNI.init();
return null;
}
JNI.init = function() {
if(!JNI.initialized) {
JNI.initialized = true;
}
}
JNI.onCallback = function(object,method,args) {
var field = (Reflect().default).field(object,method);
if(field != null) {
if(args == null) {
args = [];
}
return (Reflect().default).callMethod(object,field,args);
}
(haxe_Log().default).trace("onCallback - unknown field " + method,{ fileName : "../node_modules/lime/src/lime/system/JNI.hx", lineNumber : 223, className : "lime.system.JNI", methodName : "onCallback"});
return null;
}
JNI.postUICallback = function(callback) {
callback();
}
JNI.alreadyCreated = new (haxe_ds_StringMap().default)()
JNI.initialized = false
// Export
exports.default = JNI;