Enabling this is required for rules that need to use the types as
resolved by the TypeScript compiler.
The no-floating-promises rule was missing some stuff due to missing
types, so this CL resolves that too. Also, return-await kicked up more
stuff.
A warm run of `npm run lint` went from ~23s to ~35s on my M1 Mac.
Bug: 406518012
Change-Id: I0c413e2ca14ee903851fd8404e490335c7f8aae0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6397499
Reviewed-by: Nikolay Vitkov <nvitkov@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
@typescript-eslint/no-inferrable-types Simplifies the code and makes
type be more specific.
@typescript-eslint/return-await In theory more performant, but also
provides better debugging experience.
@typescript-eslint/ban-ts-comment Disallow all but ts-expect-error, as
else the error may get fixed not remove and later mask unrelated issues
Bug: 397260638
Change-Id: I09f268eb9157336635c378fa76546a4196e448e9
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6281149
Reviewed-by: Victor Porof <victorporof@chromium.org>
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
Auto-Submit: Nikolay Vitkov <nvitkov@chromium.org>
This type duplication can happen because of two reasons. 1) TypeScript
was not smart enough to deduce the type correctly 2) During our
TypeScript migration not very was typed, so we need to type cast in a
lot of places.
The rule is disabled as its too aggressive in some places, will file
issues upstream.
Bug: 397260638
Change-Id: Ic1100fee1e5a1d160d366f65d969442909f16eaf
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6276556
Auto-Submit: Nikolay Vitkov <nvitkov@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
We had our own homegrown ESLint rule that was trying to enforce some
consistency around `ReadonlyArray<T>` vs. `readonly T[]`, but that was
fairly limited and still allowed for `Array<T>` vs `T[]` with no shared
discipline.
We now use the `@typescript-eslint/array-type` rule instead and enforce
that for simple types the `T[]` (and `readonly T[]`) syntax is used,
while for complex types the `Array<A & B>` (and `ReadonlyArray<A & B>`)
syntax is used.
Bug: none
Change-Id: I8933869f98577d4afc4141c5736fccb2159924a6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6257990
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Nikolay Vitkov <nvitkov@chromium.org>
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
This removes most unnecessary `foo as FooData` casts that we previously
enforced for `.data=${...}` assignments in lit-html templates. These
casts in this CL were 100% redundant and didn't hide any typing bugs.
There's another set of casts that were hiding potential bugs, and that
will be addressed in a separate CL.
Bug: 375114000
Change-Id: I4fa89a802e4f7880fbd47073c8b077adecdf5d5c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5956835
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Danil Somsikov <dsv@chromium.org>
A LSC to canonicalize and backfill "Version: N/A; Revision: DEPS"
if the dependency managed by the readme file has non-compliant
versioning information, and can be plausibly identified as "managed
by DEPS".
This is the first step to fix "insufficient versioning information" at
scale, as it allows us to tell "managed by DEPS" apart from "genuinely
missing versioning information".
Bug: b/335761679
Change-Id: I3a34bd6b816e1ae250abe713d91949f3343c4b2a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5919048
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Danil Somsikov <dsv@chromium.org>
Auto-Submit: Jiewei Qian <qjw@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
This CL simplifies the implementation of the test runner for e2e
and interaction tests by moving the test helpers previously found
in mocha-extensions.ts to a new mocha interface in mocha-interface.ts.
The interface file is provided to mocha using the `-u` option and
it will be used by the test runner to process test files.
This allows more easily to control the test interface exposed to tests
and implementing custom logic before the test is executed without
resorting to interception and re-definition of built-in mocha interfaces.
This change also eliminates the need to import mocha-extensions.js in
every test file.
The following features are now exposed to tests:
1) it/it.skip/it.only/it.skipOnPlatforms
2) describe/describe.skip/describe.only/describe.skipOnPlatforms
3) itScreenshot/itScreenshot.only/itScreenshot.skip/itScreenshot.skipOnPlatforms
4) AbortSignal to abort test operations is added to AsyncScope.abortSignal.
5) AsyncScope and screenshots are taken on timeout or error as previously.
Cq-Include-Trybots: luci.devtools-frontend.try:cpp_debug_extension_e2e_dbg,cpp_debug_extension_e2e_rel
Bug: none
Change-Id: I03e3ef145a9bf527631ae99c03384b8ef0179c98
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5804334
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
This updates to the commit before breaking builds.
https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/c08d3b08f6d7..3c51ea3619e4
$ git log c08d3b08f..3c51ea361 --date=short --no-merges --format='%ad %ae %s'
2022-11-30 rupprecht [DataFormatter] Fix variant npos with `_LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION` enabled.
2022-11-30 rsundahl [asan][aarch64] Don't use 64 bit allocator for Apple ios family
2022-11-30 bazuzi [test] Fix aggregate initialization incompatible with c++20
2022-11-30 jonas [lldb] Use LLDB_ENABLE_SWIG as the canonical CMake variable
2022-11-30 spatel [InstSimplify] (X && Y) ? X : Y --> Y
2022-11-30 spatel [InstSimplify] add tests for select with common 'and' ops; NFC
2022-11-18 alexrichardson [clang][TargetInfo] Use LangAS for getPointer{Width,Align}()
2022-11-30 paul.robinson [Windows] Canonicalize on 'target=.*-windows'
2022-11-30 paul.robinson [PS4/PS5] Convert tests to check 'target=<triple>'
2022-11-30 spatel [InstCombine] canonicalize trunc + insert as bitcast + shuffle, part 1 (2nd try)
2022-11-18 szakharin [flang] Use proper attributes for runtime calls with 'i1' arguments/returns.
2022-11-29 ajcbik [mlir][sparse][vectorization] implement "index" vectorization
2022-11-29 smeenai [compiler-rt] Fix check-profile dependencies
2022-11-29 smeenai [runtimes] Add check-profile dependencies to runtimes
2022-11-29 smeenai [runtimes] Create check- targets for LLVM_RUNTIME_DISTRIBUTION_COMPONENTS
2022-11-29 smeenai [runtimes] Support sub-components in LLVM_RUNTIME_DISTRIBUTION_COMPONENTS
2022-11-29 smeenai [runtimes] Name stripped install targets consistently
2022-11-30 spatel Revert "[InstCombine] canonicalize trunc + insert as bitcast + shuffle, part 1"
2022-11-03 michaeltmaitland [RISCV][Codegen] Account for LMUL in Vector floating-point instructions
2022-11-30 preames [RISCV] Inline RISCVFrameLowering::adjustReg out of existance [nfc]
2022-11-29 sguelton [Nomination] Adding Mozilla representative to security group
2022-11-30 momchil.velikov [FuncSpec] Invalidate analyses when deleting a fully specialised function
2022-11-30 preames [RISCV] Adjust code to fallthrough to a single adjustReg callsite [nfc]
2022-11-30 craig.topper [RISCV] Teach getRegAllocationHints about compressible SRAI/SRLI.
2022-11-30 yijiagu Add async_funcs_only option to AsyncToAsyncRuntime pass
2022-11-30 spatel [InstCombine] canonicalize trunc + insert as bitcast + shuffle, part 1
2022-11-30 thurston msan: update tests for new memory mappings on aarch64
2022-11-30 saugustine Fix bazel build for https://reviews.llvm.org/D138980
2022-11-30 preames [RISCV] Merge two versions of adjustReg on TRI [nfc]
2022-11-30 jay.foad [AMDGPU] Use s_cmp instead of s_cmpk
2022-11-30 clementval [flang] Delegate pointer association to class(*) pointer to the runtime
2022-11-30 preames [RISCV] Reuse and generalize adjustReg from another spot in frame lowering [nfc]
2022-11-30 thurston msan: update shadow constant in strlen_of_shadow test
2022-11-30 antiagainst [mlir][spirv] Allow controlling subgroup size
2022-11-30 preames [RISCV] Share code for fixed offsets adjustRegs (thus materializing fewer constants)
2022-11-30 sam.mccall [include-cleaner] Move RecordedPP::RecordedIncludes -> Includes in Types.h. NFC
2022-11-30 sam.mccall [include-cleaner] Record whether includes are spelled with <angle> quotes
2022-11-30 yueh.ting.chen [NFC] Add missing period
2022-11-30 flo Recommit "[VPlan] Add VPDerivedIVRecipe, use for VPScalarIVStepsRecipe."
2022-11-30 archibald.elliott [Threading] Ensure Tests Reflect Disabled Threads
2022-11-30 kazu [mlir] Fix a warning
2022-11-30 kazu [Basic] Fix a warning
2022-11-30 flo [LV] Add test showing crash with 0fa666ecedc3.
2022-11-29 yueh.ting.chen [RISCV] Add macro to imply compiler availability on RISC-V Vector intrinsics version
2022-11-30 kai.ting.wang [MLIR][Transform] Consolidate the transform ops of get_parent_for and loop unroll from affine and scf dialects.
2022-11-30 kubak [mlir][vector] Use zip_equal instead of size assertions. NFC.
2022-11-22 lntue [libc][math] Improve the performance of subtraction for UInt<>.
2022-11-30 jhuber6 [libc][docs] Fix code block not being emitted
2022-11-30 qiongsiwu [AIX][LTO] Enabling Context Sensitive PGO Options
2022-11-30 flo [LV] Update test to use opaque pointers.
(...)
2022-11-22 stefan.graenitz Revert "[CGObjC] Add run line for release mode in test arc-exceptions-seh.mm (NFC)"
2022-11-22 i [ELF] addRelIpltSymbols: make it explicit some passes are for non-relocatable links. NFC
2022-11-22 xur [CHR] Add a threshold for the code duplication
2022-11-04 nikolasklauser [libc++][math.h][NFC] Refactor enable_ifs
2022-11-04 nikolasklauser [libc++][math.h] Remove some code duplication
2022-11-04 nikolasklauser [libc++][math.h] Remove __libcpp_<func> functions and instead call builtins directly
2022-11-04 nikolasklauser [libc++] Assume that builtins for math.h functions are available
2022-10-28 nikolasklauser [libc++] Remove duplication in math_h.pass.cpp and improve coverage
2022-11-18 kparzysz [Hexagon] Use V6_vmpyuhvs for 16-bit mulhu on HVX v69+
2022-11-22 zequanwu Reland "[LTO][COFF] Use bitcode file names in lto native object file names."
2022-11-22 paulkirth Revert "[clang-doc] Move file layout to the generators."
2022-11-22 benny.kra [mlir] Add tablegen types for fp8 types
2022-11-22 vitalybuka Revert "[AArch64] Add GPR rr instructions to isAssociativeAndCommutative"
2022-11-22 zequanwu Revert "[LTO][COFF] Use bitcode file names in lto native object file names."
2022-11-22 mariya.podchishchaeva [Driver][Test] Fix pic.c when CLANG_DEFAULT_PIE_ON_LINUX set to OFF
2022-11-15 brettw [clang-doc] Move file layout to the generators.
2022-11-17 zequanwu [LLDB][Minidump] Merge executable module's architecture into target's architecture.
2022-11-22 samitolvanen [Clang][Driver] Add KCFI to SupportsCoverage
2022-11-01 zequanwu [LTO][COFF] Use bitcode file names in lto native object file names.
2022-11-22 llvm-dev [DAG] isGuaranteedNotToBeUndefOrPoison - handle FrameIndex/TargetFrameIndex
2022-11-14 dbakunevich [Utils] Improved chunk-print-before-all.py script
2022-10-18 alexander.timofeev [AMDGPU] Avoid SCC clobbering before S_CSELECT_B32
2022-11-18 hassnaa.hamdi [AArch64][SME]: Generate streaming-compatible code for fp_arith and fp-fma
2022-11-18 hassnaa.hamdi [AArch64][SME]: Add precursory tests for D138290
2022-11-22 kazu [ADT] Define None as std::nullopt (NFC)
2022-11-22 llvm-dev [X86] Cleanup WriteBlend classes to match (V)PLENDW instruction
2022-11-22 kparzysz [Hexagon] Make local array static in getIntrinsicForHexagonNonClangBuiltin
2022-11-18 kstoimenov [Sanitizer][NFC] Rearranged prototype definitions in lsan_common.h to group them by implementation file.
2022-11-22 carrot [AArch64] Correctly recognize -reserve-regs-for-regalloc=X30,X29
2022-11-22 jay.foad [AMDGPU] Remove RegStrictDom variable. NFC.
2022-11-22 jay.foad [AMDGPU] Define and use new allZeroWaitcnt helper. NFC.
2022-11-22 flo [AArch64] Add zext test with scalable vectors.
2022-11-15 koraq [libc++][format] Fixes visit_format_arg.
2022-11-22 springerm [mlir][tensor] Add dim(expand_shape/collapse_shape) folding
2022-11-18 tbaeder [clang][Parse] Remove constant expression from if condition
2022-11-20 bixia [mlir][sparse] Fix a bug in concatenate operator rewriting.
2022-11-20 Matthew.Arsenault clang/HIP: Add new header test for math IR gen
2022-11-20 Matthew.Arsenault LoopDeletion: Fix missing newlines in debug printing
2022-11-03 yitzhakm [clang][dataflow] Add widening API and implement it for built-in boolean model.
2022-11-22 springerm [mlir][bufferize][NFC] Minor code and comment cleanups
2022-11-22 kli [Flang] Removing Float Bessel functions for AIX
2022-11-21 david.spickett [libcxx] Add BOT_OWNERS.txt
2022-11-18 vyng [lld-macho] Fix bug in CUE folding that resulted in wrong unwind table.
2022-11-17 yaxun.liu [HIP] Fix lld failure when devie object is empty
2022-11-22 stefanp [PowerPC] Add handling for WACC register spilling.
2022-11-22 spatel [VectorCombine] switch on opcode to compile faster
2022-11-06 pavel [lldb] rm include/lldb/Host/posix/Fcntl.h
2022-11-06 pavel Add include guards for PlatformQemuUser.h
2022-11-22 zinenko [mlir] fix incorrect summary/description in doc
2022-11-11 paul.walker [SVE] Fix incorrect predicate for fixed length int/fp conversion.
Created with:
roll-dep extensions/cxx_debugging/third_party/llvm/src
Bug: chromium:346233599
Change-Id: I756ab27f09d60784c7b2efab4886a04eb8604554
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5633556
Commit-Queue: Simon Zünd <szuend@chromium.org>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
This is implemented by passing a reference to the externref value through the extension (type ForeignObject in the extension API).
A tricky point is that one can only pass numeric values through LLDB, so we pack this reference into a 64-bit integer.
Fixed: 334965862
Change-Id: I6b4644d51ff59eee2c66f034017bc7a924d5febe
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5458414
Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
Previously there was a mismatch between what DevTools front-end
expected and what the DWARF C/C++ extension would return on
`getFunctionInfo`. The front-end only expected either `frames`
or `missingSymbolFiles` to be sent, but the extension would
return both. Combined with a recent change, this led to unwanted
warning messages on missing symbol files, although no symbol files
were actually missing.
This CL changes the LanguageExtensionPlugin API such that
`getFunctionInfo` may also return both.
Bug: 342316962
Change-Id: I312fd6783052d948ff76c3285a52b3a7c0052763
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5557983
Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
The helper was originally introduced with https://crrev.com/c/2878729 in
order to prevent accidental duplicate registrations, but that is not an
actual problem in practice. On the flip side the helper adds unnecessary
noise (both in terms of readability/familiarity and in terms of
additional pragmas to disable the relevant ESLint rule). And
additionally Open Web Component tooling[^1] doesn't understand the
helper, and cannot infer Web Component information for our code
correctly.
Given the downsides (and basically no upsides) and the fact that we are
actively exploring the idea of adopting more of open-wc, we'll drop the
helper and its eslint here.
[^1]: https://open-wc.org/guides/tools/web-component-devtools/
Doc: http://go/chrome-devtools:eslint-pain-points-design
Bug: b:319814509, chromium:1205825
Change-Id: If888be52c94d97f09662543fbf604f8dfe1eb575
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5308066
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
1) RPP interaction test timeouts should be disabled when in DEBUG_TEST
If using `npm run debug-interactionstest`, any timeout overrides
shouldn't interfere with debugging. The `this.timeout() !== 0`
pattern used elsewhere is reused here.
2) Many HTML documents used in interaction/e2e tests were in quirks
mode. This results in very slight differences [0] like unexpected
table styling. We apply a doctype to keep the component pages
consistent with how the frontend is delivered.
3) Hide component docs UI during interaction tests to prevent accidental
click()s on it.
[0] https://quirks.spec.whatwg.org/
Bug: chromium:325316147
Change-Id: I7a9defa4006382c130e384fe1bcc671bb7f00505
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5301854
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Auto-Submit: Paul Irish <paulirish@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>