flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
162.17k stars 26.65k forks source link

False positive `avoid_print` warning after `if (!kDebugMode) { return; }` #147447

Closed realth000 closed 2 weeks ago

realth000 commented 2 weeks ago

What package does this bug report belong to?

flutter_lints

What target platforms are you seeing this bug on?

Linux

Have you already upgraded your packages?

Yes

Dependency versions

pubspec.lock ```lock # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: async: dependency: transitive description: name: async sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted version: "2.11.0" boolean_selector: dependency: transitive description: name: boolean_selector sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" url: "https://pub.dev" source: hosted version: "2.1.1" characters: dependency: transitive description: name: characters sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted version: "1.3.0" clock: dependency: transitive description: name: clock sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted version: "1.18.0" cupertino_icons: dependency: "direct main" description: name: cupertino_icons sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted version: "1.0.8" fake_async: dependency: transitive description: name: fake_async sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" url: "https://pub.dev" source: hosted version: "1.3.1" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" flutter_lints: dependency: "direct dev" description: name: flutter_lints sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" url: "https://pub.dev" source: hosted version: "3.0.2" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" leak_tracker: dependency: transitive description: name: leak_tracker sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" url: "https://pub.dev" source: hosted version: "10.0.0" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 url: "https://pub.dev" source: hosted version: "2.0.1" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 url: "https://pub.dev" source: hosted version: "2.0.1" lints: dependency: transitive description: name: lints sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 url: "https://pub.dev" source: hosted version: "3.0.0" matcher: dependency: transitive description: name: matcher sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted version: "0.8.0" meta: dependency: transitive description: name: meta sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted version: "1.11.0" path: dependency: transitive description: name: path sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted version: "1.9.0" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" source_span: dependency: transitive description: name: source_span sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted version: "2.1.2" string_scanner: dependency: transitive description: name: string_scanner sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted version: "0.6.1" vector_math: dependency: transitive description: name: vector_math sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" url: "https://pub.dev" source: hosted version: "2.1.4" vm_service: dependency: transitive description: name: vm_service sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 url: "https://pub.dev" source: hosted version: "13.0.0" sdks: dart: ">=3.3.4 <4.0.0" ```

Steps to reproduce

  1. Create project flutter create -t app demo_false_positive_avoid_print
  2. Add code in main.dart:
    
    +void foo() {
    +  if (!kDebugMode) {
    +    return;
    +  }
    +  print('foo');
    +}

void main() {

Expected results

Analyzing lib...
No issues found! (ran in 0.4s)

Actual results

Analyzing lib...

   info • Don't invoke 'print' in production code • lib/main.dart:8:3 • avoid_print

1 issue found. (ran in 0.4s)

Code sample

Apply the code change above or use the repo here: https://github.com/realth000/demo_false_positive_avoid_print

Screenshots or Videos

Error occurs in both neovim (with dart-anaylyzer lsp) and idea (2024.1, latest dart/flutter plugin) Screenshots / Video demonstration 1. ![nvim](https://github.com/flutter/flutter/assets/59462104/e2ec0695-992d-4843-a2cf-146d675baec2) 2. ![idea](https://github.com/flutter/flutter/assets/59462104/0445e084-02b3-4a40-a078-0846282908a5)

Logs

None

Flutter Doctor output

Doctor output ```console [✓] Flutter (Channel stable, 3.19.6, on Arch Linux 6.8.7-arch1-1, locale zh_CN.UTF-8) • Flutter version 3.19.6 on channel stable at /data/Software/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 54e66469a9 (9 days ago), 2024-04-17 13:08:03 -0700 • Engine revision c4cd48e186 • Dart version 3.3.4 • DevTools version 2.31.1 [!] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at /data/Software/Android • Platform android-34, build-tools 34.0.0 • ANDROID_HOME = /data/Software/Android • Java binary at: /usr/bin/java • Java version OpenJDK Runtime Environment (build 11.0.23+9) ✗ Android license status unknown. Run `flutter doctor --android-licenses` to accept the SDK licenses. See https://flutter.dev/docs/get-started/install/linux#android-setup for more details. [✗] Chrome - develop for the web (Cannot find Chrome executable at /usr/bin/google-chrome-stable) ! /usr/bin/google-chrome-stable is not executable. [✓] Linux toolchain - develop for Linux desktop • clang version 17.0.6 • cmake version 3.29.2 • ninja version 1.11.1 • pkg-config version 2.1.1 [!] Android Studio (not installed) • Android Studio not found; download from https://developer.android.com/studio/index.html (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions). [✓] IntelliJ IDEA Ultimate Edition (version 2024.1) • IntelliJ at /home/xxx/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate • Flutter plugin version 79.0.3 • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart [!] Proxy Configuration • HTTP_PROXY is set ! NO_PROXY is not set [✓] Connected device (1 available) • Linux (desktop) • linux • linux-x64 • Arch Linux 6.8.7-arch1-1 [✓] Network resources • All expected network resources are available. ! Doctor found issues in 4 categories. ```
danagbemava-nc commented 2 weeks ago

This is not an issue specifically with flutter_lints. This is already being tracked in the dart-lang/linter repository. See https://github.com/dart-lang/linter/issues/3877

Kindly follow up in the issue linked above for updates.

Closing from here.

Thank you

realth000 commented 2 weeks ago

thanks

github-actions[bot] commented 1 day ago

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.