📄 runtime.js
字号:
}
var tmpStrs = code.match(regExps_strings[1]);
if (tmpStrs != null)
{
constStrs = constStrs.concat(tmpStrs);
}
for (var i = 0; i < constStrs.length; i++)
{
code = code.replace(constStrs[i],
(strings_tmpPrefix + i + strings_tmpSuffix));
}
// remove comments
code = code.replace(regExps_comments[0], "");
code = code.replace(regExps_comments[1], "");
// proc package
code = code.replace(regExp_package, "$1_$package(\"$5\")");
var packageName = RegExp.$5;
// proc import
code = code.replace(regExp_import, "$1var $7 = _$import(\"$5\")");
// proc super
code = code.replace(regExp_super, "$1$class.$super$2");
if (regExp_class.test(code))
{
var className = RegExp.$5;
var superName = RegExp.$7.replace(/(\s*)extends(\s+)/, "");
var shortClassName = className;
if (className.indexOf(".") == -1)
{
className = packageName + "." + className;
}
else
{
shortClassName = className.replace(/\w*\./g, "");
}
var str = "\r\nvar $class = "
+ className + " = function(){return $"
+ shortClassName + ".apply(this,arguments);};\r\n"
+ "var " + shortClassName + " = $class;\r\n";
if (superName == "")
{
str += "$class.$extends(_JSVM_Namespace.kernel.Object);";
}
else
{
str += "$class.$extends(" + superName + ");";
}
str += "\r\nvar $" + shortClassName + " = function(";
code = code.replace(regExp_class, "$1" + str);
}
else
{
throw new Exception(0x001E, "JSVM jsvm2-parser@compiler "
+ "error: can't found keyword 'class'.");
}
// restore string constant
for (var i = 0; i < constStrs.length; i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -