Version 2.18.0-130.0.dev
Merge commit 'e89fadaf00d7f546bc00a183d203a6c29fc0328a' into 'dev'
diff --git a/build/win/chrome_win.croc b/build/win/chrome_win.croc
deleted file mode 100644
index acf8e39..0000000
--- a/build/win/chrome_win.croc
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- python -*-
-# Crocodile config file for Chromium windows
-
-{
- # List of rules, applied in order
- 'rules' : [
- # Specify inclusions before exclusions, since rules are in order.
-
- # Don't include ChromeOS, posix, or linux specific files
- {
- 'regexp' : '.*(_|/)(chromeos|linux|posix)(\\.|_)',
- 'include' : 0,
- },
- # Don't include ChromeOS dirs
- {
- 'regexp' : '.*/chromeos/',
- 'include' : 0,
- },
-
- # Groups
- {
- 'regexp' : '.*_test_win\\.',
- 'group' : 'test',
- },
- ],
-}
diff --git a/build/win/compatibility.manifest b/build/win/compatibility.manifest
deleted file mode 100644
index 10d10da..0000000
--- a/build/win/compatibility.manifest
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
- <!--The ID below indicates application support for Windows Vista -->
- <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
- <!--The ID below indicates application support for Windows 7 -->
- <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
- <!--The ID below indicates application support for Windows 8 -->
- <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
- <!--The ID below indicates application support for Windows 8.1 -->
- <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
- <!--The ID below indicates application support for Windows 10 -->
- <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
- </application>
- </compatibility>
-</assembly>
diff --git a/build/win/dbghelp_xp/README.chromium b/build/win/dbghelp_xp/README.chromium
deleted file mode 100644
index a52cfad..0000000
--- a/build/win/dbghelp_xp/README.chromium
+++ /dev/null
@@ -1,2 +0,0 @@
-This dbghelp.dll is the redistributable version from the Windows 7 SDK, the
-last one to work on Windows XP.
diff --git a/build/win/dbghelp_xp/dbghelp.dll b/build/win/dbghelp_xp/dbghelp.dll
deleted file mode 100755
index 9f52a5d..0000000
--- a/build/win/dbghelp_xp/dbghelp.dll
+++ /dev/null
Binary files differ
diff --git a/build/win/importlibs/create_importlib_win.py b/build/win/importlibs/create_importlib_win.py
deleted file mode 100755
index b23a7c0..0000000
--- a/build/win/importlibs/create_importlib_win.py
+++ /dev/null
@@ -1,213 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-"""Creates an import library from an import description file."""
-import ast
-import logging
-import optparse
-import os
-import os.path
-import shutil
-import subprocess
-import sys
-import tempfile
-
-_USAGE = """\
-Usage: %prog [options] [imports-file]
-
-Creates an import library from imports-file.
-
-Note: this script uses the microsoft assembler (ml.exe) and the library tool
- (lib.exe), both of which must be in path.
-"""
-
-_ASM_STUB_HEADER = """\
-; This file is autogenerated by create_importlib_win.py, do not edit.
-.386
-.MODEL FLAT, C
-.CODE
-
-; Stubs to provide mangled names to lib.exe for the
-; correct generation of import libs.
-"""
-
-_DEF_STUB_HEADER = """\
-; This file is autogenerated by create_importlib_win.py, do not edit.
-
-; Export declarations for generating import libs.
-"""
-
-_LOGGER = logging.getLogger()
-
-
-class _Error(Exception):
- pass
-
-
-class _ImportLibraryGenerator(object):
-
- def __init__(self, temp_dir):
- self._temp_dir = temp_dir
-
- def _Shell(self, cmd, **kw):
- ret = subprocess.call(cmd, **kw)
- _LOGGER.info('Running "%s" returned %d.', cmd, ret)
- if ret != 0:
- raise _Error('Command "%s" returned %d.' % (cmd, ret))
-
- def _ReadImportsFile(self, imports_file):
- # Slurp the imports file.
- return ast.literal_eval(open(imports_file).read())
-
- def _WriteStubsFile(self, import_names, output_file):
- output_file.write(_ASM_STUB_HEADER)
-
- for name in import_names:
- output_file.write('%s PROC\n' % name)
- output_file.write('%s ENDP\n' % name)
-
- output_file.write('END\n')
-
- def _WriteDefFile(self, dll_name, import_names, output_file):
- output_file.write(_DEF_STUB_HEADER)
- output_file.write('NAME %s\n' % dll_name)
- output_file.write('EXPORTS\n')
- for name in import_names:
- name = name.split('@')[0]
- output_file.write(' %s\n' % name)
-
- def _CreateObj(self, dll_name, imports):
- """Writes an assembly file containing empty declarations.
-
- For each imported function of the form:
-
- AddClipboardFormatListener@4 PROC
- AddClipboardFormatListener@4 ENDP
-
- The resulting object file is then supplied to lib.exe with a .def file
- declaring the corresponding non-adorned exports as they appear on the
- exporting DLL, e.g.
-
- EXPORTS
- AddClipboardFormatListener
-
- In combination, the .def file and the .obj file cause lib.exe to generate
- an x86 import lib with public symbols named like
- "__imp__AddClipboardFormatListener@4", binding to exports named like
- "AddClipboardFormatListener".
-
- All of this is perpetrated in a temporary directory, as the intermediate
- artifacts are quick and easy to produce, and of no interest to anyone
- after the fact."""
-
- # Create an .asm file to provide stdcall-like stub names to lib.exe.
- asm_name = dll_name + '.asm'
- _LOGGER.info('Writing asm file "%s".', asm_name)
- with open(os.path.join(self._temp_dir, asm_name), 'wb') as stubs_file:
- self._WriteStubsFile(imports, stubs_file)
-
- # Invoke on the assembler to compile it to .obj.
- obj_name = dll_name + '.obj'
- cmdline = ['ml.exe', '/nologo', '/c', asm_name, '/Fo', obj_name]
- self._Shell(cmdline, cwd=self._temp_dir, stdout=open(os.devnull))
-
- return obj_name
-
- def _CreateImportLib(self, dll_name, imports, architecture, output_file):
- """Creates an import lib binding imports to dll_name for architecture.
-
- On success, writes the import library to output file.
- """
- obj_file = None
-
- # For x86 architecture we have to provide an object file for correct
- # name mangling between the import stubs and the exported functions.
- if architecture == 'x86':
- obj_file = self._CreateObj(dll_name, imports)
-
- # Create the corresponding .def file. This file has the non stdcall-adorned
- # names, as exported by the destination DLL.
- def_name = dll_name + '.def'
- _LOGGER.info('Writing def file "%s".', def_name)
- with open(os.path.join(self._temp_dir, def_name), 'wb') as def_file:
- self._WriteDefFile(dll_name, imports, def_file)
-
- # Invoke on lib.exe to create the import library.
- # We generate everything into the temporary directory, as the .exp export
- # files will be generated at the same path as the import library, and we
- # don't want those files potentially gunking the works.
- dll_base_name, ext = os.path.splitext(dll_name)
- lib_name = dll_base_name + '.lib'
- cmdline = [
- 'lib.exe',
- '/machine:%s' % architecture,
- '/def:%s' % def_name,
- '/out:%s' % lib_name
- ]
- if obj_file:
- cmdline.append(obj_file)
-
- self._Shell(cmdline, cwd=self._temp_dir, stdout=open(os.devnull))
-
- # Copy the .lib file to the output directory.
- shutil.copyfile(os.path.join(self._temp_dir, lib_name), output_file)
- _LOGGER.info('Created "%s".', output_file)
-
- def CreateImportLib(self, imports_file, output_file):
- # Read the imports file.
- imports = self._ReadImportsFile(imports_file)
-
- # Creates the requested import library in the output directory.
- self._CreateImportLib(imports['dll_name'], imports['imports'],
- imports.get('architecture', 'x86'), output_file)
-
-
-def main():
- parser = optparse.OptionParser(usage=_USAGE)
- parser.add_option(
- '-o', '--output-file', help='Specifies the output file path.')
- parser.add_option(
- '-k',
- '--keep-temp-dir',
- action='store_true',
- help='Keep the temporary directory.')
- parser.add_option(
- '-v', '--verbose', action='store_true', help='Verbose logging.')
-
- options, args = parser.parse_args()
-
- if len(args) != 1:
- parser.error('You must provide an imports file.')
-
- if not options.output_file:
- parser.error('You must provide an output file.')
-
- options.output_file = os.path.abspath(options.output_file)
-
- if options.verbose:
- logging.basicConfig(level=logging.INFO)
- else:
- logging.basicConfig(level=logging.WARN)
-
- temp_dir = tempfile.mkdtemp()
- _LOGGER.info('Created temporary directory "%s."', temp_dir)
- try:
- # Create a generator and create the import lib.
- generator = _ImportLibraryGenerator(temp_dir)
-
- ret = generator.CreateImportLib(args[0], options.output_file)
- except Exception, e:
- _LOGGER.exception('Failed to create import lib.')
- ret = 1
- finally:
- if not options.keep_temp_dir:
- shutil.rmtree(temp_dir)
- _LOGGER.info('Deleted temporary directory "%s."', temp_dir)
-
- return ret
-
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/build/win/importlibs/filter_export_list.py b/build/win/importlibs/filter_export_list.py
deleted file mode 100755
index b1fc122..0000000
--- a/build/win/importlibs/filter_export_list.py
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-"""Help maintaining DLL import lists."""
-import ast
-import optparse
-import re
-import sys
-
-_EXPORT_RE = re.compile(
- r"""
- ^\s*(?P<ordinal>[0-9]+) # The ordinal field.
- \s+(?P<hint>[0-9A-F]+) # The hint field.
- \s(?P<rva>........) # The RVA field.
- \s+(?P<name>[^ ]+) # And finally the name we're really after.
-""", re.VERBOSE)
-
-_USAGE = r"""\
-Usage: %prog [options] [master-file]
-
-This script filters a list of exports from a DLL, generated from something
-like the following command line:
-
-C:\> dumpbin /exports user32.dll
-
-against a master list of imports built from e.g.
-
-C:\> dumpbin /exports user32.lib
-
-The point of this is to trim non-public exports from the list, and to
-normalize the names to their stdcall-mangled form for the generation of
-import libraries.
-Note that the export names from the latter incanatation are stdcall-mangled,
-e.g. they are suffixed with "@" and the number of argument bytes to the
-function.
-"""
-
-
-def _ReadMasterFile(master_file):
- # Slurp the master file.
- with open(master_file) as f:
- master_exports = ast.literal_eval(f.read())
-
- master_mapping = {}
- for export in master_exports:
- name = export.split('@')[0]
- master_mapping[name] = export
-
- return master_mapping
-
-
-def main():
- parser = optparse.OptionParser(usage=_USAGE)
- parser.add_option(
- '-r',
- '--reverse',
- action='store_true',
- help='Reverse the matching, e.g. return the functions '
- 'in the master list that aren\'t in the input.')
-
- options, args = parser.parse_args()
- if len(args) != 1:
- parser.error('Must provide a master file.')
-
- master_mapping = _ReadMasterFile(args[0])
-
- found_exports = []
- for line in sys.stdin:
- match = _EXPORT_RE.match(line)
- if match:
- export_name = master_mapping.get(match.group('name'), None)
- if export_name:
- found_exports.append(export_name)
-
- if options.reverse:
- # Invert the found_exports list.
- found_exports = set(master_mapping.values()) - set(found_exports)
-
- # Sort the found exports for tidy output.
- print('\n'.join(sorted(found_exports)))
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/build/win/importlibs/x86/user32.winxp.imports b/build/win/importlibs/x86/user32.winxp.imports
deleted file mode 100644
index 24403a8..0000000
--- a/build/win/importlibs/x86/user32.winxp.imports
+++ /dev/null
@@ -1,670 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# This file is used to create a custom import library for Chrome's use of
-# user32.dll exports. The set of exports defined below
-{
- 'architecture': 'x86',
-
- # The DLL to bind to.
- 'dll_name': 'user32.dll',
-
- # Name of the generated import library.
- 'importlib_name': 'user32.winxp.lib',
-
- # This is the set of exports observed on a user32.dll from Windows XP SP2.
- # The version of the DLL where these were observed is 5.1.2600.2180.
- # Incidentally this set of exports also coincides with Windows XP SP3, where
- # the version of the DLL is 5.1.2600.5512.
- # Don't add new imports here unless and until the minimal supported
- # Windows version has been bumped past Windows XP SP2+.
- 'imports': [
- 'ActivateKeyboardLayout@8',
- 'AdjustWindowRect@12',
- 'AdjustWindowRectEx@16',
- 'AllowSetForegroundWindow@4',
- 'AnimateWindow@12',
- 'AnyPopup@0',
- 'AppendMenuA@16',
- 'AppendMenuW@16',
- 'ArrangeIconicWindows@4',
- 'AttachThreadInput@12',
- 'BeginDeferWindowPos@4',
- 'BeginPaint@8',
- 'BlockInput@4',
- 'BringWindowToTop@4',
- 'BroadcastSystemMessage@20',
- 'BroadcastSystemMessageA@20',
- 'BroadcastSystemMessageExA@24',
- 'BroadcastSystemMessageExW@24',
- 'BroadcastSystemMessageW@20',
- 'CallMsgFilter@8',
- 'CallMsgFilterA@8',
- 'CallMsgFilterW@8',
- 'CallNextHookEx@16',
- 'CallWindowProcA@20',
- 'CallWindowProcW@20',
- 'CascadeChildWindows@8',
- 'CascadeWindows@20',
- 'ChangeClipboardChain@8',
- 'ChangeDisplaySettingsA@8',
- 'ChangeDisplaySettingsExA@20',
- 'ChangeDisplaySettingsExW@20',
- 'ChangeDisplaySettingsW@8',
- 'ChangeMenuA@20',
- 'ChangeMenuW@20',
- 'CharLowerA@4',
- 'CharLowerBuffA@8',
- 'CharLowerBuffW@8',
- 'CharLowerW@4',
- 'CharNextA@4',
- 'CharNextExA@12',
- 'CharNextW@4',
- 'CharPrevA@8',
- 'CharPrevExA@16',
- 'CharPrevW@8',
- 'CharToOemA@8',
- 'CharToOemBuffA@12',
- 'CharToOemBuffW@12',
- 'CharToOemW@8',
- 'CharUpperA@4',
- 'CharUpperBuffA@8',
- 'CharUpperBuffW@8',
- 'CharUpperW@4',
- 'CheckDlgButton@12',
- 'CheckMenuItem@12',
- 'CheckMenuRadioItem@20',
- 'CheckRadioButton@16',
- 'ChildWindowFromPoint@12',
- 'ChildWindowFromPointEx@16',
- 'ClientToScreen@8',
- 'ClipCursor@4',
- 'CloseClipboard@0',
- 'CloseDesktop@4',
- 'CloseWindow@4',
- 'CloseWindowStation@4',
- 'CopyAcceleratorTableA@12',
- 'CopyAcceleratorTableW@12',
- 'CopyIcon@4',
- 'CopyImage@20',
- 'CopyRect@8',
- 'CountClipboardFormats@0',
- 'CreateAcceleratorTableA@8',
- 'CreateAcceleratorTableW@8',
- 'CreateCaret@16',
- 'CreateCursor@28',
- 'CreateDesktopA@24',
- 'CreateDesktopW@24',
- 'CreateDialogIndirectParamA@20',
- 'CreateDialogIndirectParamW@20',
- 'CreateDialogParamA@20',
- 'CreateDialogParamW@20',
- 'CreateIcon@28',
- 'CreateIconFromResource@16',
- 'CreateIconFromResourceEx@28',
- 'CreateIconIndirect@4',
- 'CreateMDIWindowA@40',
- 'CreateMDIWindowW@40',
- 'CreateMenu@0',
- 'CreatePopupMenu@0',
- 'CreateWindowExA@48',
- 'CreateWindowExW@48',
- 'CreateWindowStationA@16',
- 'CreateWindowStationW@16',
- 'DdeAbandonTransaction@12',
- 'DdeAccessData@8',
- 'DdeAddData@16',
- 'DdeClientTransaction@32',
- 'DdeCmpStringHandles@8',
- 'DdeConnect@16',
- 'DdeConnectList@20',
- 'DdeCreateDataHandle@28',
- 'DdeCreateStringHandleA@12',
- 'DdeCreateStringHandleW@12',
- 'DdeDisconnect@4',
- 'DdeDisconnectList@4',
- 'DdeEnableCallback@12',
- 'DdeFreeDataHandle@4',
- 'DdeFreeStringHandle@8',
- 'DdeGetData@16',
- 'DdeGetLastError@4',
- 'DdeImpersonateClient@4',
- 'DdeInitializeA@16',
- 'DdeInitializeW@16',
- 'DdeKeepStringHandle@8',
- 'DdeNameService@16',
- 'DdePostAdvise@12',
- 'DdeQueryConvInfo@12',
- 'DdeQueryNextServer@8',
- 'DdeQueryStringA@20',
- 'DdeQueryStringW@20',
- 'DdeReconnect@4',
- 'DdeSetQualityOfService@12',
- 'DdeSetUserHandle@12',
- 'DdeUnaccessData@4',
- 'DdeUninitialize@4',
- 'DefDlgProcA@16',
- 'DefDlgProcW@16',
- 'DefFrameProcA@20',
- 'DefFrameProcW@20',
- 'DefMDIChildProcA@16',
- 'DefMDIChildProcW@16',
- 'DefRawInputProc@12',
- 'DefWindowProcA@16',
- 'DefWindowProcW@16',
- 'DeferWindowPos@32',
- 'DeleteMenu@12',
- 'DeregisterShellHookWindow@4',
- 'DestroyAcceleratorTable@4',
- 'DestroyCaret@0',
- 'DestroyCursor@4',
- 'DestroyIcon@4',
- 'DestroyMenu@4',
- 'DestroyWindow@4',
- 'DialogBoxIndirectParamA@20',
- 'DialogBoxIndirectParamW@20',
- 'DialogBoxParamA@20',
- 'DialogBoxParamW@20',
- 'DisableProcessWindowsGhosting@0',
- 'DispatchMessageA@4',
- 'DispatchMessageW@4',
- 'DlgDirListA@20',
- 'DlgDirListComboBoxA@20',
- 'DlgDirListComboBoxW@20',
- 'DlgDirListW@20',
- 'DlgDirSelectComboBoxExA@16',
- 'DlgDirSelectComboBoxExW@16',
- 'DlgDirSelectExA@16',
- 'DlgDirSelectExW@16',
- 'DragDetect@12',
- 'DragObject@20',
- 'DrawAnimatedRects@16',
- 'DrawCaption@16',
- 'DrawEdge@16',
- 'DrawFocusRect@8',
- 'DrawFrame@16',
- 'DrawFrameControl@16',
- 'DrawIcon@16',
- 'DrawIconEx@36',
- 'DrawMenuBar@4',
- 'DrawStateA@40',
- 'DrawStateW@40',
- 'DrawTextA@20',
- 'DrawTextExA@24',
- 'DrawTextExW@24',
- 'DrawTextW@20',
- 'EditWndProc@16',
- 'EmptyClipboard@0',
- 'EnableMenuItem@12',
- 'EnableScrollBar@12',
- 'EnableWindow@8',
- 'EndDeferWindowPos@4',
- 'EndDialog@8',
- 'EndMenu@0',
- 'EndPaint@8',
- 'EndTask@12',
- 'EnumChildWindows@12',
- 'EnumClipboardFormats@4',
- 'EnumDesktopWindows@12',
- 'EnumDesktopsA@12',
- 'EnumDesktopsW@12',
- 'EnumDisplayDevicesA@16',
- 'EnumDisplayDevicesW@16',
- 'EnumDisplayMonitors@16',
- 'EnumDisplaySettingsA@12',
- 'EnumDisplaySettingsExA@16',
- 'EnumDisplaySettingsExW@16',
- 'EnumDisplaySettingsW@12',
- 'EnumPropsA@8',
- 'EnumPropsExA@12',
- 'EnumPropsExW@12',
- 'EnumPropsW@8',
- 'EnumThreadWindows@12',
- 'EnumWindowStationsA@8',
- 'EnumWindowStationsW@8',
- 'EnumWindows@8',
- 'EqualRect@8',
- 'ExcludeUpdateRgn@8',
- 'ExitWindowsEx@8',
- 'FillRect@12',
- 'FindWindowA@8',
- 'FindWindowExA@16',
- 'FindWindowExW@16',
- 'FindWindowW@8',
- 'FlashWindow@8',
- 'FlashWindowEx@4',
- 'FrameRect@12',
- 'FreeDDElParam@8',
- 'GetActiveWindow@0',
- 'GetAltTabInfo@20',
- 'GetAltTabInfoA@20',
- 'GetAltTabInfoW@20',
- 'GetAncestor@8',
- 'GetAsyncKeyState@4',
- 'GetCapture@0',
- 'GetCaretBlinkTime@0',
- 'GetCaretPos@4',
- 'GetClassInfoA@12',
- 'GetClassInfoExA@12',
- 'GetClassInfoExW@12',
- 'GetClassInfoW@12',
- 'GetClassLongA@8',
- 'GetClassLongW@8',
- 'GetClassNameA@12',
- 'GetClassNameW@12',
- 'GetClassWord@8',
- 'GetClientRect@8',
- 'GetClipCursor@4',
- 'GetClipboardData@4',
- 'GetClipboardFormatNameA@12',
- 'GetClipboardFormatNameW@12',
- 'GetClipboardOwner@0',
- 'GetClipboardSequenceNumber@0',
- 'GetClipboardViewer@0',
- 'GetComboBoxInfo@8',
- 'GetCursor@0',
- 'GetCursorInfo@4',
- 'GetCursorPos@4',
- 'GetDC@4',
- 'GetDCEx@12',
- 'GetDesktopWindow@0',
- 'GetDialogBaseUnits@0',
- 'GetDlgCtrlID@4',
- 'GetDlgItem@8',
- 'GetDlgItemInt@16',
- 'GetDlgItemTextA@16',
- 'GetDlgItemTextW@16',
- 'GetDoubleClickTime@0',
- 'GetFocus@0',
- 'GetForegroundWindow@0',
- 'GetGUIThreadInfo@8',
- 'GetGuiResources@8',
- 'GetIconInfo@8',
- 'GetInputDesktop@0',
- 'GetInputState@0',
- 'GetKBCodePage@0',
- 'GetKeyNameTextA@12',
- 'GetKeyNameTextW@12',
- 'GetKeyState@4',
- 'GetKeyboardLayout@4',
- 'GetKeyboardLayoutList@8',
- 'GetKeyboardLayoutNameA@4',
- 'GetKeyboardLayoutNameW@4',
- 'GetKeyboardState@4',
- 'GetKeyboardType@4',
- 'GetLastActivePopup@4',
- 'GetLastInputInfo@4',
- 'GetLayeredWindowAttributes@16',
- 'GetListBoxInfo@4',
- 'GetMenu@4',
- 'GetMenuBarInfo@16',
- 'GetMenuCheckMarkDimensions@0',
- 'GetMenuContextHelpId@4',
- 'GetMenuDefaultItem@12',
- 'GetMenuInfo@8',
- 'GetMenuItemCount@4',
- 'GetMenuItemID@8',
- 'GetMenuItemInfoA@16',
- 'GetMenuItemInfoW@16',
- 'GetMenuItemRect@16',
- 'GetMenuState@12',
- 'GetMenuStringA@20',
- 'GetMenuStringW@20',
- 'GetMessageA@16',
- 'GetMessageExtraInfo@0',
- 'GetMessagePos@0',
- 'GetMessageTime@0',
- 'GetMessageW@16',
- 'GetMonitorInfoA@8',
- 'GetMonitorInfoW@8',
- 'GetMouseMovePointsEx@20',
- 'GetNextDlgGroupItem@12',
- 'GetNextDlgTabItem@12',
- 'GetOpenClipboardWindow@0',
- 'GetParent@4',
- 'GetPriorityClipboardFormat@8',
- 'GetProcessDefaultLayout@4',
- 'GetProcessWindowStation@0',
- 'GetPropA@8',
- 'GetPropW@8',
- 'GetQueueStatus@4',
- 'GetRawInputBuffer@12',
- 'GetRawInputData@20',
- 'GetRawInputDeviceInfoA@16',
- 'GetRawInputDeviceInfoW@16',
- 'GetRawInputDeviceList@12',
- 'GetRegisteredRawInputDevices@12',
- 'GetScrollBarInfo@12',
- 'GetScrollInfo@12',
- 'GetScrollPos@8',
- 'GetScrollRange@16',
- 'GetShellWindow@0',
- 'GetSubMenu@8',
- 'GetSysColor@4',
- 'GetSysColorBrush@4',
- 'GetSystemMenu@8',
- 'GetSystemMetrics@4',
- 'GetTabbedTextExtentA@20',
- 'GetTabbedTextExtentW@20',
- 'GetThreadDesktop@4',
- 'GetTitleBarInfo@8',
- 'GetTopWindow@4',
- 'GetUpdateRect@12',
- 'GetUpdateRgn@12',
- 'GetUserObjectInformationA@20',
- 'GetUserObjectInformationW@20',
- 'GetUserObjectSecurity@20',
- 'GetWindow@8',
- 'GetWindowContextHelpId@4',
- 'GetWindowDC@4',
- 'GetWindowInfo@8',
- 'GetWindowLongA@8',
- 'GetWindowLongW@8',
- 'GetWindowModuleFileName@12',
- 'GetWindowModuleFileNameA@12',
- 'GetWindowModuleFileNameW@12',
- 'GetWindowPlacement@8',
- 'GetWindowRect@8',
- 'GetWindowRgn@8',
- 'GetWindowRgnBox@8',
- 'GetWindowTextA@12',
- 'GetWindowTextLengthA@4',
- 'GetWindowTextLengthW@4',
- 'GetWindowTextW@12',
- 'GetWindowThreadProcessId@8',
- 'GetWindowWord@8',
- 'GrayStringA@36',
- 'GrayStringW@36',
- 'HideCaret@4',
- 'HiliteMenuItem@16',
- 'IMPGetIMEA@8',
- 'IMPGetIMEW@8',
- 'IMPQueryIMEA@4',
- 'IMPQueryIMEW@4',
- 'IMPSetIMEA@8',
- 'IMPSetIMEW@8',
- 'ImpersonateDdeClientWindow@8',
- 'InSendMessage@0',
- 'InSendMessageEx@4',
- 'InflateRect@12',
- 'InsertMenuA@20',
- 'InsertMenuItemA@16',
- 'InsertMenuItemW@16',
- 'InsertMenuW@20',
- 'InternalGetWindowText@12',
- 'IntersectRect@12',
- 'InvalidateRect@12',
- 'InvalidateRgn@12',
- 'InvertRect@8',
- 'IsCharAlphaA@4',
- 'IsCharAlphaNumericA@4',
- 'IsCharAlphaNumericW@4',
- 'IsCharAlphaW@4',
- 'IsCharLowerA@4',
- 'IsCharLowerW@4',
- 'IsCharUpperA@4',
- 'IsCharUpperW@4',
- 'IsChild@8',
- 'IsClipboardFormatAvailable@4',
- 'IsDialogMessage@8',
- 'IsDialogMessageA@8',
- 'IsDialogMessageW@8',
- 'IsDlgButtonChecked@8',
- 'IsGUIThread@4',
- 'IsHungAppWindow@4',
- 'IsIconic@4',
- 'IsMenu@4',
- 'IsRectEmpty@4',
- 'IsWinEventHookInstalled@4',
- 'IsWindow@4',
- 'IsWindowEnabled@4',
- 'IsWindowUnicode@4',
- 'IsWindowVisible@4',
- 'IsZoomed@4',
- 'KillTimer@8',
- 'LoadAcceleratorsA@8',
- 'LoadAcceleratorsW@8',
- 'LoadBitmapA@8',
- 'LoadBitmapW@8',
- 'LoadCursorA@8',
- 'LoadCursorFromFileA@4',
- 'LoadCursorFromFileW@4',
- 'LoadCursorW@8',
- 'LoadIconA@8',
- 'LoadIconW@8',
- 'LoadImageA@24',
- 'LoadImageW@24',
- 'LoadKeyboardLayoutA@8',
- 'LoadKeyboardLayoutW@8',
- 'LoadMenuA@8',
- 'LoadMenuIndirectA@4',
- 'LoadMenuIndirectW@4',
- 'LoadMenuW@8',
- 'LoadStringA@16',
- 'LoadStringW@16',
- 'LockSetForegroundWindow@4',
- 'LockWindowUpdate@4',
- 'LockWorkStation@0',
- 'LookupIconIdFromDirectory@8',
- 'LookupIconIdFromDirectoryEx@20',
- 'MapDialogRect@8',
- 'MapVirtualKeyA@8',
- 'MapVirtualKeyExA@12',
- 'MapVirtualKeyExW@12',
- 'MapVirtualKeyW@8',
- 'MapWindowPoints@16',
- 'MenuItemFromPoint@16',
- 'MessageBeep@4',
- 'MessageBoxA@16',
- 'MessageBoxExA@20',
- 'MessageBoxExW@20',
- 'MessageBoxIndirectA@4',
- 'MessageBoxIndirectW@4',
- 'MessageBoxTimeoutA@24',
- 'MessageBoxTimeoutW@24',
- 'MessageBoxW@16',
- 'ModifyMenuA@20',
- 'ModifyMenuW@20',
- 'MonitorFromPoint@12',
- 'MonitorFromRect@8',
- 'MonitorFromWindow@8',
- 'MoveWindow@24',
- 'MsgWaitForMultipleObjects@20',
- 'MsgWaitForMultipleObjectsEx@20',
- 'NotifyWinEvent@16',
- 'OemKeyScan@4',
- 'OemToCharA@8',
- 'OemToCharBuffA@12',
- 'OemToCharBuffW@12',
- 'OemToCharW@8',
- 'OffsetRect@12',
- 'OpenClipboard@4',
- 'OpenDesktopA@16',
- 'OpenDesktopW@16',
- 'OpenIcon@4',
- 'OpenInputDesktop@12',
- 'OpenWindowStationA@12',
- 'OpenWindowStationW@12',
- 'PackDDElParam@12',
- 'PaintDesktop@4',
- 'PeekMessageA@20',
- 'PeekMessageW@20',
- 'PostMessageA@16',
- 'PostMessageW@16',
- 'PostQuitMessage@4',
- 'PostThreadMessageA@16',
- 'PostThreadMessageW@16',
- 'PrintWindow@12',
- 'PrivateExtractIconsA@32',
- 'PrivateExtractIconsW@32',
- 'PtInRect@12',
- 'RealChildWindowFromPoint@12',
- 'RealGetWindowClass@12',
- 'RealGetWindowClassA@12',
- 'RealGetWindowClassW@12',
- 'RedrawWindow@16',
- 'RegisterClassA@4',
- 'RegisterClassExA@4',
- 'RegisterClassExW@4',
- 'RegisterClassW@4',
- 'RegisterClipboardFormatA@4',
- 'RegisterClipboardFormatW@4',
- 'RegisterDeviceNotificationA@12',
- 'RegisterDeviceNotificationW@12',
- 'RegisterHotKey@16',
- 'RegisterRawInputDevices@12',
- 'RegisterShellHookWindow@4',
- 'RegisterWindowMessageA@4',
- 'RegisterWindowMessageW@4',
- 'ReleaseCapture@0',
- 'ReleaseDC@8',
- 'RemoveMenu@12',
- 'RemovePropA@8',
- 'RemovePropW@8',
- 'ReplyMessage@4',
- 'ReuseDDElParam@20',
- 'ScreenToClient@8',
- 'ScrollDC@28',
- 'ScrollWindow@20',
- 'ScrollWindowEx@32',
- 'SendDlgItemMessageA@20',
- 'SendDlgItemMessageW@20',
- 'SendIMEMessageExA@8',
- 'SendIMEMessageExW@8',
- 'SendInput@12',
- 'SendMessageA@16',
- 'SendMessageCallbackA@24',
- 'SendMessageCallbackW@24',
- 'SendMessageTimeoutA@28',
- 'SendMessageTimeoutW@28',
- 'SendMessageW@16',
- 'SendNotifyMessageA@16',
- 'SendNotifyMessageW@16',
- 'SetActiveWindow@4',
- 'SetCapture@4',
- 'SetCaretBlinkTime@4',
- 'SetCaretPos@8',
- 'SetClassLongA@12',
- 'SetClassLongW@12',
- 'SetClassWord@12',
- 'SetClipboardData@8',
- 'SetClipboardViewer@4',
- 'SetCursor@4',
- 'SetCursorPos@8',
- 'SetDebugErrorLevel@4',
- 'SetDeskWallpaper@4',
- 'SetDlgItemInt@16',
- 'SetDlgItemTextA@12',
- 'SetDlgItemTextW@12',
- 'SetDoubleClickTime@4',
- 'SetFocus@4',
- 'SetForegroundWindow@4',
- 'SetKeyboardState@4',
- 'SetLastErrorEx@8',
- 'SetLayeredWindowAttributes@16',
- 'SetMenu@8',
- 'SetMenuContextHelpId@8',
- 'SetMenuDefaultItem@12',
- 'SetMenuInfo@8',
- 'SetMenuItemBitmaps@20',
- 'SetMenuItemInfoA@16',
- 'SetMenuItemInfoW@16',
- 'SetMessageExtraInfo@4',
- 'SetMessageQueue@4',
- 'SetParent@8',
- 'SetProcessDefaultLayout@4',
- 'SetProcessWindowStation@4',
- 'SetPropA@12',
- 'SetPropW@12',
- 'SetRect@20',
- 'SetRectEmpty@4',
- 'SetScrollInfo@16',
- 'SetScrollPos@16',
- 'SetScrollRange@20',
- 'SetShellWindow@4',
- 'SetSysColors@12',
- 'SetSystemCursor@8',
- 'SetThreadDesktop@4',
- 'SetTimer@16',
- 'SetUserObjectInformationA@16',
- 'SetUserObjectInformationW@16',
- 'SetUserObjectSecurity@12',
- 'SetWinEventHook@28',
- 'SetWindowContextHelpId@8',
- 'SetWindowLongA@12',
- 'SetWindowLongW@12',
- 'SetWindowPlacement@8',
- 'SetWindowPos@28',
- 'SetWindowRgn@12',
- 'SetWindowTextA@8',
- 'SetWindowTextW@8',
- 'SetWindowWord@12',
- 'SetWindowsHookA@8',
- 'SetWindowsHookExA@16',
- 'SetWindowsHookExW@16',
- 'SetWindowsHookW@8',
- 'ShowCaret@4',
- 'ShowCursor@4',
- 'ShowOwnedPopups@8',
- 'ShowScrollBar@12',
- 'ShowWindow@8',
- 'ShowWindowAsync@8',
- 'SubtractRect@12',
- 'SwapMouseButton@4',
- 'SwitchDesktop@4',
- 'SwitchToThisWindow@8',
- 'SystemParametersInfoA@16',
- 'SystemParametersInfoW@16',
- 'TabbedTextOutA@32',
- 'TabbedTextOutW@32',
- 'TileChildWindows@8',
- 'TileWindows@20',
- 'ToAscii@20',
- 'ToAsciiEx@24',
- 'ToUnicode@24',
- 'ToUnicodeEx@28',
- 'TrackMouseEvent@4',
- 'TrackPopupMenu@28',
- 'TrackPopupMenuEx@24',
- 'TranslateAccelerator@12',
- 'TranslateAcceleratorA@12',
- 'TranslateAcceleratorW@12',
- 'TranslateMDISysAccel@8',
- 'TranslateMessage@4',
- 'UnhookWinEvent@4',
- 'UnhookWindowsHook@8',
- 'UnhookWindowsHookEx@4',
- 'UnionRect@12',
- 'UnloadKeyboardLayout@4',
- 'UnpackDDElParam@16',
- 'UnregisterClassA@8',
- 'UnregisterClassW@8',
- 'UnregisterDeviceNotification@4',
- 'UnregisterHotKey@8',
- 'UpdateLayeredWindow@36',
- 'UpdateWindow@4',
- 'UserHandleGrantAccess@12',
- 'ValidateRect@8',
- 'ValidateRgn@8',
- 'VkKeyScanA@4',
- 'VkKeyScanExA@8',
- 'VkKeyScanExW@8',
- 'VkKeyScanW@4',
- 'WINNLSEnableIME@8',
- 'WINNLSGetEnableStatus@4',
- 'WINNLSGetIMEHotkey@4',
- 'WaitForInputIdle@8',
- 'WaitMessage@0',
- 'WinHelpA@16',
- 'WinHelpW@16',
- 'WindowFromDC@4',
- 'WindowFromPoint@8',
- 'keybd_event@16',
- 'mouse_event@20',
- 'wsprintfA',
- 'wsprintfW',
- 'wvsprintfA@12',
- 'wvsprintfW@12',
- ]
-}
diff --git a/build/win/importlibs/x86/user32.winxp.lib b/build/win/importlibs/x86/user32.winxp.lib
deleted file mode 100644
index deb5577..0000000
--- a/build/win/importlibs/x86/user32.winxp.lib
+++ /dev/null
Binary files differ
diff --git a/build/win/reorder-imports.py b/build/win/reorder-imports.py
deleted file mode 100755
index 45c4c9a..0000000
--- a/build/win/reorder-imports.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python3
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import glob
-import optparse
-import os
-import shutil
-import subprocess
-import sys
-
-
-def reorder_imports(input_dir, output_dir, architecture):
- """Run swapimports.exe on the initial chrome.exe, and write to the output
- directory. Also copy over any related files that might be needed
- (pdbs, manifests etc.).
- """
-
- input_image = os.path.join(input_dir, 'chrome.exe')
- output_image = os.path.join(output_dir, 'chrome.exe')
-
- swap_exe = os.path.join(
- __file__,
- '..\\..\\..\\third_party\\syzygy\\binaries\\exe\\swapimport.exe')
-
- args = [
- swap_exe,
- '--input-image=%s' % input_image,
- '--output-image=%s' % output_image, '--overwrite', '--no-logo'
- ]
-
- if architecture == 'x64':
- args.append('--x64')
-
- args.append('chrome_elf.dll')
-
- subprocess.call(args)
-
- for fname in glob.iglob(os.path.join(input_dir, 'chrome.exe.*')):
- shutil.copy(fname, os.path.join(output_dir, os.path.basename(fname)))
- return 0
-
-
-def main(argv):
- usage = 'reorder_imports.py -i <input_dir> -o <output_dir> -a <target_arch>'
- parser = optparse.OptionParser(usage=usage)
- parser.add_option(
- '-i', '--input', help='reorder chrome.exe in DIR', metavar='DIR')
- parser.add_option(
- '-o', '--output', help='write new chrome.exe to DIR', metavar='DIR')
- parser.add_option(
- '-a', '--arch', help='architecture of build (optional)', default='ia32')
- opts, args = parser.parse_args()
-
- if not opts.input or not opts.output:
- parser.error('Please provide and input and output directory')
- return reorder_imports(opts.input, opts.output, opts.arch)
-
-
-if __name__ == "__main__":
- sys.exit(main(sys.argv[1:]))
diff --git a/build/win/use_ansi_codes.py b/build/win/use_ansi_codes.py
deleted file mode 100755
index c453c7b..0000000
--- a/build/win/use_ansi_codes.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2015 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-"""Prints if the terminal is likely to understand ANSI codes."""
-
-import os
-
-# Add more terminals here as needed.
-print('ANSICON' in os.environ)
diff --git a/pkg/front_end/test/fasta/testing/suite.dart b/pkg/front_end/test/fasta/testing/suite.dart
index bbbcbc6b..53269b2 100644
--- a/pkg/front_end/test/fasta/testing/suite.dart
+++ b/pkg/front_end/test/fasta/testing/suite.dart
@@ -421,9 +421,7 @@
}
}
steps.add(const EnsureNoErrors());
- if (!skipVm) {
- steps.add(const WriteDill());
- }
+ steps.add(new WriteDill(skipVm: skipVm));
if (semiFuzz) {
steps.add(const FuzzCompiles());
}
@@ -826,6 +824,11 @@
@override
Future<Result<ComponentResult>> run(
ComponentResult result, FastaContext context) async {
+ Uri? outputUri = result.outputUri;
+ if (outputUri == null) {
+ return pass(result);
+ }
+
FolderOptions folderOptions =
context.computeFolderOptions(result.description);
Map<ExperimentalFlag, bool> experimentalFlags = folderOptions
diff --git a/pkg/front_end/test/flutter_gallery_leak_tester.dart b/pkg/front_end/test/flutter_gallery_leak_tester.dart
index 84fe990..d7e9630 100644
--- a/pkg/front_end/test/flutter_gallery_leak_tester.dart
+++ b/pkg/front_end/test/flutter_gallery_leak_tester.dart
@@ -111,20 +111,13 @@
".pub-cache/hosted/pub.dartlang.org/");
Directory pubDir = new Directory.fromUri(pubDirUri);
if (!pubDir.existsSync()) throw "Expected to find $pubDir";
- File galleryDotPackages = new File("$rootPath/gallery/.packages");
- if (!galleryDotPackages.existsSync()) {
- throw "Didn't find $galleryDotPackages";
- }
- String data = galleryDotPackages.readAsStringSync();
- data = data.replaceAll(pubDirUri.toString(), "pub/");
- galleryDotPackages.writeAsStringSync(data);
File galleryPackageConfig =
new File("$rootPath/gallery/.dart_tool/package_config.json");
if (!galleryPackageConfig.existsSync()) {
throw "Didn't find $galleryPackageConfig";
}
- data = galleryPackageConfig.readAsStringSync();
+ String data = galleryPackageConfig.readAsStringSync();
data = data.replaceAll(pubDirUri.toString(), "../pub/");
galleryPackageConfig.writeAsStringSync(data);
@@ -146,9 +139,10 @@
print("Exit code from ln: $processExitCode");
}
- File galleryDotPackages = new File("$rootPath/gallery/.packages");
- if (!galleryDotPackages.existsSync()) {
- throw "Didn't find $galleryDotPackages";
+ File packageConfig =
+ new File("$rootPath/gallery/.dart_tool/package_config.json");
+ if (!packageConfig.existsSync()) {
+ throw "Didn't find $packageConfig";
}
List<helper.Interest> interests = <helper.Interest>[];
diff --git a/pkg/front_end/test/utils/kernel_chain.dart b/pkg/front_end/test/utils/kernel_chain.dart
index d526f13..3457bb1 100644
--- a/pkg/front_end/test/utils/kernel_chain.dart
+++ b/pkg/front_end/test/utils/kernel_chain.dart
@@ -4,6 +4,7 @@
library fasta.testing.kernel_chain;
+import 'dart:async';
import 'dart:io' show Directory, File, IOSink, Platform;
import 'dart:typed_data' show Uint8List;
@@ -32,7 +33,16 @@
import 'package:front_end/src/fasta/messages.dart'
show DiagnosticMessageFromJson, LocatedMessage, Message;
-import 'package:kernel/ast.dart' show Component, Library, Reference, Source;
+import 'package:kernel/ast.dart'
+ show
+ Block,
+ Component,
+ Library,
+ Procedure,
+ Reference,
+ ReturnStatement,
+ Source,
+ Statement;
import 'package:kernel/binary/ast_from_binary.dart' show BinaryBuilder;
@@ -423,7 +433,9 @@
}
class WriteDill extends Step<ComponentResult, ComponentResult, ChainContext> {
- const WriteDill();
+ final bool skipVm;
+
+ const WriteDill({required this.skipVm});
@override
String get name => "write .dill";
@@ -431,29 +443,62 @@
@override
Future<Result<ComponentResult>> run(ComponentResult result, _) async {
Component component = result.component;
- Directory tmp = await Directory.systemTemp.createTemp();
- Uri uri = tmp.uri.resolve("generated.dill");
- File generated = new File.fromUri(uri);
- IOSink sink = generated.openWrite();
- result = new ComponentResult(
- result.description,
- result.component,
- result.userLibraries,
- result.compilationSetup,
- result.sourceTarget,
- uri);
+ Procedure? mainMethod = component.mainMethod;
+ bool writeToFile = true;
+ if (mainMethod == null) {
+ writeToFile = false;
+ } else {
+ Statement? mainBody = mainMethod.function.body;
+ if (mainBody is Block && mainBody.statements.isEmpty ||
+ mainBody is ReturnStatement && mainBody.expression == null) {
+ writeToFile = false;
+ }
+ }
+
+ Sink<List<int>> sink;
+ String writeMessage;
+ if (writeToFile && !skipVm) {
+ Directory tmp = await Directory.systemTemp.createTemp();
+ Uri uri = tmp.uri.resolve("generated.dill");
+ File generated = new File.fromUri(uri);
+ sink = generated.openWrite();
+ result = new ComponentResult(
+ result.description,
+ result.component,
+ result.userLibraries,
+ result.compilationSetup,
+ result.sourceTarget,
+ uri);
+ writeMessage = "Wrote component to `${generated.path}`";
+ } else {
+ sink = new DevNullSink();
+ writeMessage = "Wrote component to /dev/null";
+ }
try {
+ // TODO(johnniwinther,jensj): Avoid serializing the sdk.
new BinaryPrinter(sink).writeComponentFile(component);
} catch (e, s) {
return fail(result, e, s);
} finally {
- print("Wrote `${generated.path}`");
- await sink.close();
+ print(writeMessage);
+ if (sink is IOSink) {
+ await sink.close();
+ } else {
+ sink.close();
+ }
}
return pass(result);
}
}
+class DevNullSink<T> extends Sink<T> {
+ @override
+ void add(T data) {}
+
+ @override
+ void close() {}
+}
+
class ReadDill extends Step<Uri, Uri, ChainContext> {
const ReadDill();
diff --git a/pkg/front_end/testcases/text_serialization.status b/pkg/front_end/testcases/text_serialization.status
index 09865af..889ec70 100644
--- a/pkg/front_end/testcases/text_serialization.status
+++ b/pkg/front_end/testcases/text_serialization.status
@@ -31,12 +31,10 @@
extensions/static_access_of_instance: RuntimeError
general/abstract_members: TypeCheckError
general/accessors: RuntimeError
-general/ambiguous_exports: RuntimeError
general/await_in_non_async: RuntimeError
general/bounded_implicit_instantiation: TypeCheckError
general/bounds_instances: TypeCheckError
general/bug30695: TypeCheckError
-general/bug31124: RuntimeError
general/call: RuntimeError
general/cascade: RuntimeError
general/constructor_initializer_invalid: RuntimeError
@@ -50,50 +48,19 @@
general/error_locations/error_location_01: RuntimeError
general/error_locations/error_location_02: RuntimeError
general/error_locations/error_location_03: RuntimeError
-general/error_locations/error_location_05: RuntimeError
-general/error_locations/error_location_06: RuntimeError
-general/error_recovery/await_not_in_async: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_general.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_get.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_return_type.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_set.crash: RuntimeError
-general/error_recovery/constructor_recovery_get: RuntimeError
-general/error_recovery/constructor_recovery_ok: RuntimeError
-general/error_recovery/constructor_recovery_operator.crash: RuntimeError
-general/error_recovery/constructor_recovery_return_type: RuntimeError
-general/error_recovery/constructor_recovery_set: RuntimeError
general/error_recovery/empty_await_for: RuntimeError
general/error_recovery/empty_for: RuntimeError
-general/error_recovery/issue_38415.crash: RuntimeError
-general/error_recovery/issue_39024.crash: RuntimeError
-general/error_recovery/issue_39026.crash: RuntimeError
-general/error_recovery/issue_39026_prime.crash: RuntimeError
-general/error_recovery/issue_39033.crash: RuntimeError
-general/error_recovery/issue_39033b.crash: RuntimeError
-general/error_recovery/issue_39058.crash: RuntimeError
-general/error_recovery/issue_39058_prime.crash: RuntimeError
-general/error_recovery/issue_39202.crash: RuntimeError
-general/error_recovery/issue_39230.crash: RuntimeError
-general/error_recovery/issue_39958_01: RuntimeError
-general/error_recovery/issue_39958_02: RuntimeError
-general/error_recovery/issue_39958_03: RuntimeError
-general/error_recovery/issue_39958_04: RuntimeError
general/error_recovery/weekly_bot_91_failure: Crash
-general/error_recovery/yield_not_in_generator: RuntimeError
general/expressions: RuntimeError
general/getter_vs_setter_type: TypeCheckError
general/implement_semi_stub: TypeCheckError
general/implicit_super_call: TypeCheckError
-general/incomplete_field_formal_parameter: RuntimeError
general/infer_field_from_multiple2: TypeCheckError
general/infer_field_from_multiple: TypeCheckError
general/invalid_operator: TypeCheckError
general/invalid_operator_override: TypeCheckError
general/invocations: TypeCheckError
general/issue37776: RuntimeError
-general/issue38938: RuntimeError
-general/issue38944: RuntimeError
-general/issue38961: RuntimeError
general/issue41210a: TypeCheckError
general/issue41210b/issue41210.no_link: TypeCheckError
general/issue41210b/issue41210: TypeCheckError
@@ -117,7 +84,6 @@
general/redirecting_factory_invocation_in_invalid: TypeCheckError
general/spread_collection: RuntimeError # Should be fixed as part of implementing spread collection support
general/super_semi_stub: TypeCheckError
-general/type_parameter_type_named_int: RuntimeError
general/type_variable_as_super: RuntimeError
general/unsound_promotion: TypeCheckError
general/void_methods: RuntimeError
@@ -176,32 +142,23 @@
rasta/bad_setter_initializer: RuntimeError
rasta/breaking_bad: RuntimeError
rasta/class_hierarchy: RuntimeError
-rasta/class_member: RuntimeError
rasta/constant_get_and_invoke: RuntimeError
-rasta/duplicated_mixin: RuntimeError
-rasta/export: RuntimeError
-rasta/foo: RuntimeError
rasta/generic_factory: RuntimeError
rasta/issue_000001: RuntimeError
rasta/issue_000031: RuntimeError
rasta/issue_000032: RuntimeError
rasta/issue_000034: RuntimeError
rasta/issue_000036: RuntimeError
-rasta/issue_000039: RuntimeError
rasta/issue_000041: RuntimeError
rasta/issue_000042: RuntimeError
-rasta/issue_000043: RuntimeError
rasta/issue_000044: RuntimeError
-rasta/issue_000046: RuntimeError
rasta/issue_000081: RuntimeError
rasta/malformed_const_constructor: RuntimeError
rasta/malformed_function: RuntimeError
rasta/mixin_library: TypeCheckError
-rasta/native_is_illegal: RuntimeError
rasta/parser_error: RuntimeError
rasta/static: RuntimeError
rasta/super: TypeCheckError
-rasta/super_initializer: RuntimeError
rasta/super_mixin: TypeCheckError
rasta/super_operator: TypeCheckError
rasta/type_literals: RuntimeError
@@ -212,7 +169,6 @@
rasta/unresolved_recovery: TypeCheckError
regress/issue_29976: RuntimeError
regress/issue_29982: RuntimeError
-regress/issue_30836: RuntimeError
regress/issue_31180: TypeCheckError
regress/issue_32972: RuntimeError
regress/issue_33452: RuntimeError
@@ -223,15 +179,8 @@
regress/issue_35259: RuntimeError
regress/issue_35260: RuntimeError
regress/issue_35266: RuntimeError
-regress/issue_36400: RuntimeError
-regress/issue_36647: RuntimeError
-regress/issue_36647_2: RuntimeError
-regress/issue_36669: RuntimeError
regress/issue_37285: RuntimeError
-regress/issue_39035.crash: RuntimeError
-regress/issue_39091_1: RuntimeError
regress/issue_39091_2: RuntimeError
-regress/utf_16_le_content.crash: RuntimeError
runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
set_literals/disambiguation_rule: RuntimeError
value_class/copy_with_call_sites: RuntimeError # Expected
diff --git a/pkg/front_end/testcases/weak.status b/pkg/front_end/testcases/weak.status
index db831f6..3926219 100644
--- a/pkg/front_end/testcases/weak.status
+++ b/pkg/front_end/testcases/weak.status
@@ -121,12 +121,10 @@
extensions/static_access_of_instance: RuntimeError
general/abstract_members: TypeCheckError
general/accessors: RuntimeError
-general/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
general/await_in_non_async: RuntimeError # Expected.
general/bounded_implicit_instantiation: TypeCheckError
general/bounds_instances: TypeCheckError
general/bug30695: TypeCheckError
-general/bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
general/call: RuntimeError
general/cascade: RuntimeError
general/constructor_initializer_invalid: RuntimeError # Fails execution after recovery
@@ -140,50 +138,19 @@
general/error_locations/error_location_01: RuntimeError
general/error_locations/error_location_02: RuntimeError
general/error_locations/error_location_03: RuntimeError
-general/error_locations/error_location_05: RuntimeError
-general/error_locations/error_location_06: RuntimeError
-general/error_recovery/await_not_in_async: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_general.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_get.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_return_type.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_set.crash: RuntimeError
-general/error_recovery/constructor_recovery_get: RuntimeError
-general/error_recovery/constructor_recovery_ok: RuntimeError
-general/error_recovery/constructor_recovery_operator.crash: RuntimeError
-general/error_recovery/constructor_recovery_return_type: RuntimeError
-general/error_recovery/constructor_recovery_set: RuntimeError
general/error_recovery/empty_await_for: RuntimeError
general/error_recovery/empty_for: RuntimeError
-general/error_recovery/issue_38415.crash: RuntimeError
-general/error_recovery/issue_39024.crash: RuntimeError
-general/error_recovery/issue_39026.crash: RuntimeError
-general/error_recovery/issue_39026_prime.crash: RuntimeError
-general/error_recovery/issue_39033.crash: RuntimeError
-general/error_recovery/issue_39033b.crash: RuntimeError
-general/error_recovery/issue_39058.crash: RuntimeError
-general/error_recovery/issue_39058_prime.crash: RuntimeError
-general/error_recovery/issue_39202.crash: RuntimeError
-general/error_recovery/issue_39230.crash: RuntimeError
-general/error_recovery/issue_39958_01: RuntimeError
-general/error_recovery/issue_39958_02: RuntimeError
-general/error_recovery/issue_39958_03: RuntimeError
-general/error_recovery/issue_39958_04: RuntimeError
general/error_recovery/weekly_bot_91_failure: Crash
-general/error_recovery/yield_not_in_generator: RuntimeError
general/expressions: RuntimeError
general/getter_vs_setter_type: TypeCheckError
general/implement_semi_stub: TypeCheckError
general/implicit_super_call: TypeCheckError
-general/incomplete_field_formal_parameter: RuntimeError
general/infer_field_from_multiple2: TypeCheckError
general/infer_field_from_multiple: TypeCheckError
general/invalid_operator: TypeCheckError
general/invalid_operator_override: TypeCheckError
general/invocations: TypeCheckError
general/issue37776: RuntimeError
-general/issue38938: RuntimeError # no main and compile time errors.
-general/issue38944: RuntimeError # no main and compile time errors.
-general/issue38961: RuntimeError # no main and compile time errors.
general/issue41210a: TypeCheckError
general/issue41210b/issue41210.no_link: TypeCheckError
general/issue41210b/issue41210: TypeCheckError
@@ -208,7 +175,6 @@
general/redirecting_factory_invocation_in_invalid: TypeCheckError
general/spread_collection: RuntimeError
general/super_semi_stub: TypeCheckError
-general/type_parameter_type_named_int: RuntimeError # Expected
general/type_variable_as_super: RuntimeError
general/unsound_promotion: TypeCheckError
general/void_methods: RuntimeError
@@ -266,32 +232,23 @@
rasta/bad_setter_initializer: RuntimeError
rasta/breaking_bad: RuntimeError
rasta/class_hierarchy: RuntimeError
-rasta/class_member: RuntimeError
rasta/constant_get_and_invoke: RuntimeError
-rasta/duplicated_mixin: RuntimeError # Expected, this file has no main method.
-rasta/export: RuntimeError # Expected, this file has no main method.
-rasta/foo: RuntimeError # Expected, this file has no main method.
rasta/generic_factory: RuntimeError
rasta/issue_000001: RuntimeError
rasta/issue_000031: RuntimeError
rasta/issue_000032: RuntimeError
rasta/issue_000034: RuntimeError
rasta/issue_000036: RuntimeError
-rasta/issue_000039: RuntimeError
rasta/issue_000041: RuntimeError
rasta/issue_000042: RuntimeError
-rasta/issue_000043: RuntimeError
rasta/issue_000044: RuntimeError
-rasta/issue_000046: RuntimeError
rasta/issue_000081: RuntimeError
rasta/malformed_const_constructor: RuntimeError
rasta/malformed_function: RuntimeError
rasta/mixin_library: TypeCheckError
-rasta/native_is_illegal: RuntimeError
rasta/parser_error: RuntimeError
rasta/static: RuntimeError
rasta/super: TypeCheckError
-rasta/super_initializer: RuntimeError
rasta/super_mixin: TypeCheckError
rasta/super_operator: TypeCheckError
rasta/type_literals: RuntimeError
@@ -302,7 +259,6 @@
rasta/unresolved_recovery: TypeCheckError
regress/issue_29976: RuntimeError # Tests runtime behavior of error recovery.
regress/issue_29982: RuntimeError # Tests runtime behavior of error recovery.
-regress/issue_30836: RuntimeError # Issue 30836.
regress/issue_31180: TypeCheckError
regress/issue_32972: RuntimeError
regress/issue_33452: RuntimeError # Test has an intentional error
@@ -313,15 +269,8 @@
regress/issue_35259: RuntimeError # Expected
regress/issue_35260: RuntimeError # Expected
regress/issue_35266: RuntimeError # Expected
-regress/issue_36400: RuntimeError
-regress/issue_36647: RuntimeError # Expected
-regress/issue_36647_2: RuntimeError # Expected
-regress/issue_36669: RuntimeError
regress/issue_37285: RuntimeError
-regress/issue_39035.crash: RuntimeError
-regress/issue_39091_1: RuntimeError
regress/issue_39091_2: RuntimeError
-regress/utf_16_le_content.crash: RuntimeError
runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
runtime_checks_new/mixin_forwarding_stub_getter: TypeCheckError
set_literals/disambiguation_rule: RuntimeError
diff --git a/pkg/frontend_server/lib/frontend_server.dart b/pkg/frontend_server/lib/frontend_server.dart
index ca5700a..b2489b6 100644
--- a/pkg/frontend_server/lib/frontend_server.dart
+++ b/pkg/frontend_server/lib/frontend_server.dart
@@ -203,7 +203,12 @@
defaultsTo: false)
..addFlag('print-incremental-dependencies',
help: 'Print list of sources added and removed from compilation',
- defaultsTo: true);
+ defaultsTo: true)
+ ..addOption('verbosity',
+ help: 'Sets the verbosity level of the compilation',
+ defaultsTo: Verbosity.defaultValue,
+ allowed: Verbosity.allowedValues,
+ allowedHelp: Verbosity.allowedValuesHelp);
String usage = '''
Usage: server [options] [input.dart]
@@ -395,26 +400,19 @@
final List<String> errors = <String>[];
_onDiagnostic(DiagnosticMessage message) {
- // TODO(https://dartbug.com/44867): The frontend server should take a
- // verbosity argument and put that in CompilerOptions and use it here.
- bool printMessage;
switch (message.severity) {
case Severity.error:
case Severity.internalProblem:
- printMessage = true;
errors.addAll(message.plainTextFormatted);
break;
case Severity.warning:
- printMessage = true;
- break;
case Severity.info:
- printMessage = false;
break;
case Severity.context:
case Severity.ignored:
throw 'Unexpected severity: ${message.severity}';
}
- if (printMessage) {
+ if (Verbosity.shouldPrint(_compilerOptions.verbosity, message)) {
printDiagnosticMessage(message, _outputStream.writeln);
}
}
@@ -466,7 +464,10 @@
parseExperimentalArguments(options['enable-experiment']),
onError: (msg) => errors.add(msg))
..nnbdMode = (nullSafety == true) ? NnbdMode.Strong : NnbdMode.Weak
- ..onDiagnostic = _onDiagnostic;
+ ..onDiagnostic = _onDiagnostic
+ ..verbosity = Verbosity.parseArgument(options['verbosity'],
+ onError: (msg) => errors.add(msg));
+ _compilerOptions = compilerOptions;
if (options.wasParsed('libraries-spec')) {
compilerOptions.librariesSpecificationUri =
@@ -554,7 +555,6 @@
];
}
- _compilerOptions = compilerOptions;
_processedOptions = ProcessedOptions(options: compilerOptions);
KernelCompilationResults results;
diff --git a/pkg/frontend_server/test/frontend_server_test.dart b/pkg/frontend_server/test/frontend_server_test.dart
index 46457d0..4c7fca1 100644
--- a/pkg/frontend_server/test/frontend_server_test.dart
+++ b/pkg/frontend_server/test/frontend_server_test.dart
@@ -3062,6 +3062,61 @@
inputStreamController.close();
}
}, timeout: Timeout.factor(8));
+
+ test('compile with(out) warning', () async {
+ Future runTest({bool hideWarnings}) async {
+ var file = File('${tempDir.path}/foo.dart')..createSync();
+ file.writeAsStringSync("""
+main() {}
+method(int i) => i?.isEven;
+""");
+ var package_config =
+ File('${tempDir.path}/.dart_tool/package_config.json')
+ ..createSync(recursive: true)
+ ..writeAsStringSync('''
+ {
+ "configVersion": 2,
+ "packages": [
+ {
+ "name": "hello",
+ "rootUri": "../",
+ "packageUri": "./"
+ }
+ ]
+ }
+ ''');
+ var dillFile = File('${tempDir.path}/app.dill');
+
+ expect(dillFile.existsSync(), false);
+
+ final List<String> args = <String>[
+ '--sdk-root=${sdkRoot.toFilePath()}',
+ '--incremental',
+ '--platform=${ddcPlatformKernel.path}',
+ '--output-dill=${dillFile.path}',
+ '--packages=${package_config.path}',
+ '--target=dartdevc',
+ if (hideWarnings) '--verbosity=error',
+ file.path,
+ ];
+ StringBuffer output = new StringBuffer();
+ expect(await starter(args, output: output), 0);
+ String result = output.toString();
+ Matcher matcher =
+ contains("Warning: Operand of null-aware operation '?.' "
+ "has type 'int' which excludes null.");
+ if (hideWarnings) {
+ matcher = isNot(matcher);
+ }
+ expect(result, matcher);
+
+ file.deleteSync();
+ dillFile.deleteSync();
+ }
+
+ await runTest(hideWarnings: false);
+ await runTest(hideWarnings: true);
+ });
});
}
diff --git a/tools/VERSION b/tools/VERSION
index 1be6210..c7f1750 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 18
PATCH 0
-PRERELEASE 129
+PRERELEASE 130
PRERELEASE_PATCH 0
\ No newline at end of file