| Index: Source/devtools/scripts/compile_frontend.py
|
| diff --git a/Source/devtools/scripts/compile_frontend.py b/Source/devtools/scripts/compile_frontend.py
|
| index 66e98a00d3b9a26afca7f3ab95ef5f2ac4ea2931..6858f01a25eb7874dfec51972a3e26e75a766429 100755
|
| --- a/Source/devtools/scripts/compile_frontend.py
|
| +++ b/Source/devtools/scripts/compile_frontend.py
|
| @@ -92,7 +92,7 @@ type_checked_jsdoc_tags_or = "|".join(type_checked_jsdoc_tags_list)
|
| # Basic regex for invalid JsDoc types: an object type name ([A-Z][A-Za-z0-9.]+[A-Za-z0-9]) not preceded by '!', '?', ':' (this, new), or '.' (object property).
|
| invalid_type_regex = re.compile(r"@(?:" + type_checked_jsdoc_tags_or + r")\s*\{.*(?<![!?:.A-Za-z0-9])([A-Z][A-Za-z0-9.]+[A-Za-z0-9])[^/]*\}")
|
|
|
| -invalid_type_designator_regex = re.compile(r"@(?:" + type_checked_jsdoc_tags_or + r")\s*.*([?!])=?\}")
|
| +invalid_type_designator_regex = re.compile(r"@(?:" + type_checked_jsdoc_tags_or + r")\s*.*(?<![{: ])([?!])=?\}")
|
|
|
| importscript_regex = re.compile(r"importScript\(\s*[\"']")
|
| error_warning_regex = re.compile(r"(?:WARNING|ERROR)")
|
| @@ -189,9 +189,6 @@ jsdocValidatorProc = verify_jsdoc_extra()
|
| modules_dir = tempfile.mkdtemp()
|
| common_closure_args = " --summary_detail_level 3 --compilation_level SIMPLE_OPTIMIZATIONS --warning_level VERBOSE --language_in ECMASCRIPT5 --accept_const_keyword --module_output_path_prefix %s/" % modules_dir
|
|
|
| -compiler_args_file = tempfile.NamedTemporaryFile(mode='wt', delete=False)
|
| -closure_runner_command = "%s -jar %s --compiler-args-file %s" % (java_exec, closure_runner_jar, compiler_args_file.name)
|
| -
|
| spawned_compiler_command = "%s -jar %s %s \\\n" % (java_exec, closure_compiler_jar, common_closure_args)
|
|
|
| modules_by_name = {}
|
| @@ -267,6 +264,9 @@ def dump_module(name, recursively, processed_modules):
|
|
|
| print "Compiling frontend..."
|
|
|
| +compiler_args_file = tempfile.NamedTemporaryFile(mode='wt', delete=False)
|
| +closure_runner_command = "%s -jar %s --compiler-args-file %s" % (java_exec, closure_runner_jar, compiler_args_file.name)
|
| +
|
| for module in modules:
|
| closure_args = common_closure_args
|
| closure_args += " --externs " + global_externs_file
|
| @@ -279,9 +279,8 @@ modular_compiler_proc = subprocess.Popen(closure_runner_command, stdout=subproce
|
|
|
|
|
| def unclosure_injected_script(sourceFileName, outFileName):
|
| - sourceFile = open(sourceFileName, "r")
|
| - source = sourceFile.read()
|
| - sourceFile.close()
|
| + with open(sourceFileName, "r") as sourceFile:
|
| + source = sourceFile.read()
|
|
|
| def replace_function(matchobj):
|
| return re.sub(r"@param", "param", matchobj.group(1) or "") + "\n//" + matchobj.group(2)
|
| @@ -292,9 +291,11 @@ def unclosure_injected_script(sourceFileName, outFileName):
|
| # Comment out its return statement
|
| source = re.sub(r"\n(\s*return\s+[^;]+;\s*\n\}\)\s*)$", "\n/*\\1*/", source)
|
|
|
| - outFileName = open(outFileName, "w")
|
| - outFileName.write(source)
|
| - outFileName.close()
|
| + # Replace the "var Object" override with a "self.Object" one
|
| + source = re.sub(r"\nvar Object =", "\nself.Object =", source, count=1)
|
| +
|
| + with open(outFileName, "w") as outFileName:
|
| + outFileName.write(source)
|
|
|
| injectedScriptSourceTmpFile = path.join(inspector_path, "InjectedScriptSourceTmp.js")
|
| injectedScriptCanvasModuleSourceTmpFile = path.join(inspector_path, "InjectedScriptCanvasModuleSourceTmp.js")
|
|
|