Commit graph

99 commits

Author SHA1 Message Date
Kagami Sascha Rosylight
7f736cdebf Bug 1703953 - Part 1: Implement mozilla/use-isinstance rule r=Gijs,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D111354
2022-04-06 11:57:56 +00:00
Mark Banner
a6d11f320d Bug 1760286 - Add missing docs for rules in eslint-plugin-mozilla. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D142285
2022-03-30 17:40:15 +00:00
Gijs Kruitbosch
4d3b6146b8 Bug 1753696 - use an eslint rule to switch to add_setup(), r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D139542
2022-03-30 16:16:42 +00:00
Norisz Fay
acdd6851cd Backed out 2 changesets (bug 1753696) for causing multiple dt and bc failures CLOSED TREE
Backed out changeset 67fd9edfbcea (bug 1753696)
Backed out changeset a9d957ea887b (bug 1753696)
2022-03-30 12:17:55 +03:00
Gijs Kruitbosch
35d2a4ca12 Bug 1753696 - use an eslint rule to switch to add_setup(), r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D139542
2022-03-30 08:18:51 +00:00
criss
4eec7e25a3 Backed out 3 changesets (bug 1703953) for causing multiple failures. CLOSED TREE
Backed out changeset 871a1fac289e (bug 1703953)
Backed out changeset 8151244bda18 (bug 1703953)
Backed out changeset eaf6d4c353be (bug 1703953)
2022-03-29 17:01:58 +03:00
Kagami Sascha Rosylight
cbfca993e7 Bug 1703953 - Part 1: Implement mozilla/use-isinstance rule r=Gijs,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D111354
2022-03-29 13:10:59 +00:00
Mike Conley
f29b80b95b Bug 1758753 - Migrate XPCOM hashtable documentation from MDN to Firefox Source Docs. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D140671
2022-03-17 14:23:27 +00:00
Mark Banner
8bb4667fae Bug 1758474 - Implement an ESLint rule to disallow passing {} as the target parameter for ChromeUtils.import. r=Gijs,mossop,perftest-reviewers,preferences-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D140517
2022-03-11 16:41:29 +00:00
smolnar
e89faa903f Backed out changeset 5018856d8fee (bug 1758474) for causing node eslint failure. CLOSED TREE 2022-03-10 11:58:45 +02:00
Mark Banner
fe937b78bd Bug 1758474 - Implement an ESLint rule to disallow passing {} as the target parameter for ChromeUtils.import. r=Gijs,mossop,perftest-reviewers,preferences-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D140517
2022-03-10 09:25:28 +00:00
Mitchell Hentges
1d06e45585 Bug 1756224: Update references to perfdocs linter to explicitly set path r=sparky
Ideally, the `perfdocs` linter suggestion to `--fix` issues would take
into account the `paths` that were provided, rather than printing the
sure-fire "lint and fix all" solution.

Actually, on further consideration, theoretically such a recommendation
should appear at the `./mach lint` level, and not be linter-specific. Oh
well, that's a future improvement :)

-----

This patch updates the `perfdocs` documentation and suggestions to
successfully operate in the same manner that they did before
bug 1753701.

Differential Revision: https://phabricator.services.mozilla.com/D139159
2022-03-09 15:52:49 +00:00
Chris Peterson
4c1f824528 Bug 1756504 - Remove cpp-virtual-final linter, a minor style check that doesn't diagnose real bugs. r=firefox-static-analysis-reviewers,sylvestre
In bug 1436263, I added a cpp-virtual-final.yml linter to warn about virtual function declarations that included more than one virtual function specifier `virtual`, `final`, or `override`.

I think we should remove this linter now because:

* It's just a style check and doesn't diagnose a real bug. Including more than one virtual function specifier (`virtual`, `final`, or `override`) is harmless and unambiguous, just unnecessary extra code.
* It has caused some engineer frustration because this style check caused their changeset to be backed out of autoland. Backing out and fixing these style issues are not a good use of sheriffs' or engineers' time.
* It doesn't catch all virtual/final/override style issues because:
  * It can't analyze virtual function definitions that span multiple lines.
  * It doesn't check for `virtual void Foo() override` because  there are over 6000 cases already, so our code will never follow this style check consistently.

Differential Revision: https://phabricator.services.mozilla.com/D139454
2022-02-24 02:14:39 +00:00
Sylvestre Ledru
caaedeee98 Bug 1753413 - fx doc: Remove whitespaces, trailing lines & windows CR r=andi,perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D137741
2022-02-03 18:34:58 +00:00
Sylvestre Ledru
1e47dd5d4f Bug 1738988 - Add support for trojan source detection in mozlint r=linter-reviewers,ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D131086
2021-11-19 08:37:28 +00:00
Bobby Holley
02e9792c14 Bug 1740616 - Modify the C++ style guide to prefer unsigned types and CheckedInt. r=glandium DONTBUILD
This commit resolves the question posed in [1], largely on the basis of
the rationale put forth by emilio [2].

The reasons cited for using signed types boil down to (1) taking
advantage of UB optimizations, (2) more tractable dynamic overflow
analysis, and (3) increased chance of the surrounding logic identifying
and rejecting overflowed values.

Emilio points out that (1) is not a durable advantage. I see some value
in (2) and (3), but I see more value in consistency with existing code
and clear communication of semantic intent to the reader.

[1] https://groups.google.com/a/mozilla.org/g/dev-platform/c/-h_2cz5APmY/
[2] https://groups.google.com/a/mozilla.org/g/dev-platform/c/-h_2cz5APmY/m/NPdl2uIhAgAJ

Differential Revision: https://phabricator.services.mozilla.com/D130928
2021-11-16 19:38:01 +00:00
OnuohaOluebube
5ff974a055 Bug 1460100 - Added ESLint rule to prevent use of nsIScriptableUnicodeConverter r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D129668
2021-11-01 16:56:25 +00:00
Andi-Bogdan Postelnicu
80fddabd67 Bug 1738598 - sunset Coverity in Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D129779
2021-10-31 17:18:02 +00:00
Nihanth Subramanya
e6d5cae88b Bug 1731780 - Reject .only() chained onto add_task in tests. r=Gijs,mythmon,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D128027
2021-10-13 21:26:40 +00:00
Agi Sferro
2bd64785fc Bug 1571899 - Use google-java-format via spotless to enforce Java formatting. r=ahal,owlish
This change adds a new lint `android-format` which enforces formatting of Java
code using google-java-format.

To run the lint simply run:

./mach lint -l android-format

This command also support automatically fixing all errors running by adding
--fix:

./mach lint -l android-format --fix

This change also removes all the formatting-related checkstyle checks which are
now implicitly enforced by the formatter.

Differential Revision: https://phabricator.services.mozilla.com/D127734
2021-10-11 18:11:55 +00:00
Sylvestre Ledru
e28b9db1e6 Bug 1731542 - Remove infer from the list of code quality tools r=andi DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D127634
2021-10-06 10:57:38 +00:00
Chris Peterson
339c7d8961 Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi
Depends on D125504

Differential Revision: https://phabricator.services.mozilla.com/D125505
2021-09-15 05:10:51 +00:00
Michael Comella
be77ae1fd6 Bug 1729053 - add links to Engineering Show and Tell. r=jaws,firefox-source-docs-reviewers,sylvestre
I feel these productivity tips will remain helpful in the future and
having them in our documentation will make them more discoverable.

Differential Revision: https://phabricator.services.mozilla.com/D124477
2021-09-08 19:45:05 +00:00
Simon Giesecke
78c7565ba4 Bug 1677549 - Add some guidelines on include directives and header files to the coding style. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D97916
2021-09-08 12:56:01 +00:00
Tom Ritter
05cffe8a72 Bug 1722724: Start a cookbook that lists common needs for matchers r=andi
Differential Revision: https://phabricator.services.mozilla.com/D121105
2021-07-29 14:34:44 +00:00
Gijs Kruitbosch
6fce85b1ba Bug 1708462 - add warning level linter for OS.File use, r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D120684
2021-07-28 15:15:03 +00:00
Tom Ritter
7026afec02 Bug 1717076: Tweak some of the existing documentation r=andi
Depends on D118211

Differential Revision: https://phabricator.services.mozilla.com/D120515
2021-07-22 19:50:38 +00:00
Tom Ritter
1b8cf0af95 Bug 1717076: Add documentation about advanced checker techniques r=andi
Differential Revision: https://phabricator.services.mozilla.com/D118211
2021-07-22 19:50:37 +00:00
Tom Ritter
537031b360 Bug 1717076 - Add a quick-start guide for how to turn a matcher to a static analysis check r=andi
Differential Revision: https://phabricator.services.mozilla.com/D118248
2021-07-22 19:50:37 +00:00
Tom Ritter
72b427a860 Bug 1717076 - Move comments to a separate line r=freddyb
clang-query does not allow end-of-line comments, they need
to be on a separate line

Differential Revision: https://phabricator.services.mozilla.com/D118247
2021-07-22 19:50:37 +00:00
Mark Banner
ff109894f5 Bug 1587022 - Improve documentation for remaining Mozilla specific ESLint rules. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D118735
2021-07-05 11:38:39 +00:00
Tom Ritter
5a4c1ce591 Bug 1716070 - Add more detailed documentation about our CE instance r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D117565
2021-06-14 17:28:09 +00:00
surajeet310
6ea83c8ef9 Bug 1714788 - Fixed more Sphinx warnings in 'mach doc' r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D117419
2021-06-10 19:33:53 +00:00
Mitchell Hentges
e568fa2e0d Bug 1714641: Remove usages of vendored "backports" code r=ahal,perftest-reviewers
It provides `shutil.which(...)`, which has been part of `shutil` since
Python 3.3.

Differential Revision: https://phabricator.services.mozilla.com/D117063
2021-06-09 15:48:52 +00:00
Frederik Braun
6f19bc3072 Bug 1714991 - add docs for own compiler explorer instance r=andi
Differential Revision: https://phabricator.services.mozilla.com/D117000
2021-06-07 13:15:32 +00:00
Sylvestre Ledru
24951f13b0 Bug 1702922 - mozlint/ride along: Document how to run a specific testsuite r=linter-reviewers,marco DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D113287
2021-04-26 08:13:04 +00:00
Tom Ritter
829a688630 Bug 1645419: Add new static analysis documentation r=andi
Differential Revision: https://phabricator.services.mozilla.com/D101956
2021-03-22 17:28:37 +00:00
Tom Ritter
5e728f3aa7 Bug 1645419: Edit the old static analysis page in the context of what's to come r=andi
Depends on D108053

Differential Revision: https://phabricator.services.mozilla.com/D108054
2021-03-22 17:28:37 +00:00
Tom Ritter
5f9bfc09bd Bug 1645419: Move the existing static analysis page to a new one explicitly about existing stuff r=andi
Differential Revision: https://phabricator.services.mozilla.com/D108053
2021-03-22 17:28:37 +00:00
Simon Giesecke
f4f7c593e0 Bug 1692835 - Remove nsJSThingHashtable. r=xpcom-reviewers,nika
The only use of nsJSThingHashtable is replaced by a direct use of
nsBaseHashtable.

Differential Revision: https://phabricator.services.mozilla.com/D105971
2021-03-02 09:02:19 +00:00
Akshat
410a4c846a Bug 1692974 - doc(mozlint): Add documentation for counting fixed issues r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D105271
2021-02-17 08:49:12 +00:00
Mark Banner
67bf517e00 Bug 1608272 - Extend an ESLint rule to disallow 'this' as the second argument to ChromeUtils.import. r=Gijs
Depends on D104684

Differential Revision: https://phabricator.services.mozilla.com/D104685
2021-02-11 22:02:16 +00:00
Dan Minor
febbe04140 Bug 1416149 - Add linter for checking fluent files r=zbraniecki,gregtatum,flod,Gijs,fluent-reviewers,linter-reviewers,sylvestre
This adds a linter for Fluent files based upon the existing test for bad
strings in browser_misused_characters_in_strings.js. It also adds a check
for identifiers that only permits lowercase letters, numbers and the
hyphen character (in ascii). Since a large number of existing identifiers
use uppercase letters, an exclusions file is used to disable the identifier
check on a file by file basis.

Differential Revision: https://phabricator.services.mozilla.com/D104414
2021-02-11 17:35:29 +00:00
Sylvestre Ledru
c77f092e54 Bug 1690959 - docs: Mozlint/rust - Fix the link to the source r=linter-reviewers,andi DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D104160
2021-02-05 09:48:03 +00:00
Mark Banner
abafccf4d7 Bug 1687650 - Rework Lint and ESLint document pages to provide a better layout and more information for ESLint itself. r=firefox-source-docs-reviewers,sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D103168
2021-01-29 09:09:12 +00:00
Mark Banner
787d4fd95d Bug 1686226 - Add references to the Matrix Lint & Formatting room in the coding style docs. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D101463
2021-01-12 15:04:35 +00:00
Kartik Gautam
8828f6896c Bug 1682817 - Make whitespace/newline linter also fail for absent newline character at the end of files and also implement fix for it r=sylvestre
Depends on D100484

Differential Revision: https://phabricator.services.mozilla.com/D100443
2021-01-07 08:53:16 +00:00
Kartik Gautam
5a1125a101 Bug 1675131 - Make whitespace / newline linter also fail for missing empty lines at the end of files. r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D98000
2020-12-15 21:49:43 +00:00
Butkovits Atila
cd73ee5d0b Backed out changeset eb6cdd43ce2e (bug 1677549) as requested by Simon. CLOSED TREE 2020-12-14 17:32:44 +02:00
Simon Giesecke
ba0db06d63 Bug 1677549 - Add some guidelines on include directives and header files to the coding style. r=andi,sylvestre,asuth
Differential Revision: https://phabricator.services.mozilla.com/D97916
2020-12-11 10:35:54 +00:00