loadGlobalLibrary static method
void
loadGlobalLibrary({})
加载全局作用域
globalLogger
自定义全局日志器customClassList
自定义导入的类型customProxyList
自定义导入的全局方法或实例nativeValueConverter
读取原生数据值转换器,如:在flutter中经常需要quickTypeSpeculationMethod
加速类型推测的函数logObjectStackInAndOut
打印对象栈的变化logSlowTypeSpeculation
打印慢的类型推断
Implementation
static void loadGlobalLibrary({
EasyLogger? globalLogger,
List<VmClass> customClassList = const [],
List<VmProxy> customProxyList = const [],
dynamic Function(dynamic value)? nativeValueConverter,
String? Function(dynamic instance)? quickTypeSpeculationMethod,
bool logObjectStackInAndOut = false,
bool logSlowTypeSpeculation = true,
}) {
_vmwareLogger = globalLogger ?? _vmwareLogger;
VmObject.nativeValueConverter = nativeValueConverter;
VmClass.quickTypeSpeculationMethod = quickTypeSpeculationMethod;
if (logSlowTypeSpeculation) {
VmClass.slowTypeSpeculationReport = (instance, vmclass, cycles, total) {
_vmwareLogger.logFatal(['slowTypeSpeculationReport ======>', instance.runtimeType, '------>', vmclass.identifier, '------>', 'cycles:', cycles, '/', total]);
};
}
if (logObjectStackInAndOut) {
VmRunner.objectStackInAndOutReport = (isIn, isOk, length, members) {
(isOk ? _vmwareLogger.logDebug : _vmwareLogger.logError)(['objectStackInAndOutReport ======>', isIn ? 'in' : 'out', '------>', isOk ? 'ok' : 'error', '------>', length, '--->', members]);
};
}
VmRunner.loadGlobalLibrary(customClassList: customClassList, customProxyList: customProxyList);
}