Skip to content

Duplicate fields in debugger view #5128

Closed

Description

@lukehutch

Describe the bug

In this debugger variable view, of a RevenueCat object hierarchy, you can see a bunch of duplicate field entries:

image

The _$OfferingImpl class that contains the fields that are displayed duplicated is a "Freezed" generated class.

To Reproduce

You'd have to set up a whole RevenueCat-enabled project to reproduce these conditions, so reproducing this may be a lot of work...

Expected behavior

Fields should only ever show once

Please complete the following information:

Workspace Environment
Dart Code extension: 3.89.20240513
Flutter extension: 3.89.20240501 (activated)

App: Visual Studio Code
App Host: desktop
Version: linux 1.89.1

Workspace type: Dart, Flutter (LSP) (Multiroot)

Dart (3.4.0-282.3.beta): /opt/flutter/bin/cache/dart-sdk
Flutter (3.22.0-0.3.pre): /opt/flutter (Pixel 7 Pro (android-arm64/android))

Output from 'dart info'

/opt/flutter/bin/cache/dart-sdk/bin/dart info

If providing this information as part of reporting a bug, please review the information
below to ensure it only contains things you're comfortable posting publicly.

General info

Project info

  • sdk constraint: '>=3.3.0'
  • dependencies: auto_size_text, bouncy_widget, boxy, bubble, cached_network_image, carousel_slider, chat_message_timestamp, collection, cronet_http, cross_file, cupertino_http, cupertino_icons, dart_emoji, delayed_display, device_info_plus, dio, dio_smart_retry, email_validator, exif, extended_image, file_picker, firebase_analytics, firebase_app_check, firebase_auth, firebase_core, firebase_crashlytics, firebase_in_app_messaging, firebase_messaging, firebase_ui_auth, firebase_ui_oauth_apple, firebase_ui_oauth_facebook, firebase_ui_oauth_google, flutter, flutter_cache_manager, flutter_email_sender, flutter_facebook_auth, flutter_google_maps_webservices, flutter_google_places_sdk, flutter_image_utilities, flutter_localizations, flutter_persistent_value_notifier, flutter_staggered_grid_view, flutter_svg, flutter_value_notifier_stateful_widget, fluttericon, fluttertoast, geocoding, geolocator, google_fonts, google_maps_flutter, google_maps_webapi, google_sign_in, http, image_crop, image_picker, image_picker_android, image_picker_platform_interface, intl, jiffy, keep_keyboard_popup_menu, latlong2, line_awesome_flutter, logger, maps_launcher, material_dialogs, outlined_text, package_info_plus, package_signature, path_provider, persistent_bottom_nav_bar_v2, pexels_api, pinch_to_zoom_scrollable, provider, purchases_flutter, serverpod_auth_client, serverpod_auth_email_flutter, serverpod_auth_firebase_flutter, serverpod_auth_shared_flutter, serverpod_client, serverpod_flutter, serverpod_serialization, share_plus, shared_preferences, syncfusion_flutter_datepicker, timezone, url_launcher
  • dev_dependencies: dependency_validator, flutter_launcher_icons, flutter_lints, flutter_native_splash, flutter_test, lints
  • elided dependencies: 1

Process info

Memory CPU Elapsed time Command line
505 MB 0.0% 1-06:28:52 dart --enable-vm-service=0 --pause_isolates_on_start --disable-dart-dev -DSILENT_VM_SERVICE=true --write-service-info=file:/vm.json --pause_isolates_on_exit --enable-asserts /main.dart
700 MB 0.0% 1-02:39:41 dart ../serverpod_cli.dart generate --watch
83 MB 0.0% 1-06:28:52 dart debug_adapter
66 MB 0.0% 2-04:56:35 dart devtools --machine --allow-embedding --dtd-uri ws:/2dc3zZ1q5iCzrf6H
64 MB 0.0% 1-10:21:48 dart devtools --machine --allow-embedding --dtd-uri ws:/4BtjkJgBCxnUWaPp
67 MB 0.0% 2-04:56:39 dart devtools --machine --allow-embedding --dtd-uri ws:/6UZRO6HYg3iwvXMt
12361 MB 1.2% 2-04:56:39 dart language-server --protocol=lsp --client-id=VS-Code --client-version=3.89.20240513
17807 MB 0.5% 2-04:56:35 dart language-server --protocol=lsp --client-id=VS-Code --client-version=3.89.20240513
12952 MB 0.7% 1-10:21:48 dart language-server --protocol=lsp --client-id=VS-Code --client-version=3.89.20240513
75 MB 0.0% 2-04:56:39 dart tooling-daemon --machine
76 MB 0.0% 2-04:56:35 dart tooling-daemon --machine
76 MB 0.0% 1-10:21:48 dart tooling-daemon --machine
94 MB 0.0% 2-04:56:39 flutter_tools.snapshot daemon
93 MB 0.0% 2-04:56:35 flutter_tools.snapshot daemon
92 MB 0.0% 1-10:21:48 flutter_tools.snapshot daemon
78 MB 0.1% 13:25 flutter_tools.snapshot debug_adapter
647 MB 0.8% 13:24 flutter_tools.snapshot run --machine --start-paused -d 29161FDH300BLP --devtools-server-address http:/ --target /main.dart
Output from 'flutter doctor'

/opt/flutter/bin/flutter doctor -v

[✓] Flutter (Channel beta, 3.22.0-0.3.pre, on Fedora Linux 40 (Workstation Edition) 6.8.10-300.fc40.x86_64, locale en_US.utf8)
    • Flutter version 3.22.0-0.3.pre on channel beta at /opt/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 87b652410d (5 weeks ago), 2024-04-23 21:41:18 -0500
    • Engine revision b4bfd45986
    • Dart version 3.4.0 (build 3.4.0-282.3.beta)
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /home/luke/Android/Sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /opt/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 18.1.6 (Fedora 18.1.6-3.fc40)
    • cmake version 3.28.2
    • ninja version 1.11.1
    • pkg-config version 2.1.0

[✓] Android Studio (version 2023.3)
    • Android Studio at /opt/android-studio
    • Flutter plugin version 79.0.2
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)

[✓] VS Code (version 1.89.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.89.20240501

[✓] Connected device (3 available)
    • Pixel 7 Pro (mobile) • 29161FDH300BLP • android-arm64  • Android 14 (API 34)
    • Linux (desktop)      • linux          • linux-x64      • Fedora Linux 40 (Workstation Edition) 6.8.10-300.fc40.x86_64
    • Chrome (web)         • chrome         • web-javascript • Google Chrome 125.0.6422.112

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Activity

  1. added this to the v3.92.0 milestone on Jun 5, 2024
  2. added
    in debuggingRelates to the debug adapter or process of running debug sessions
    on Jun 5, 2024
  3. DanTup commented on Jun 5, 2024

    @DanTup
    Member

    I'm not able to reproduce this. I had a theory that maybe it was caused by getters overriding fields or vice-versa, however I've tried many combinations without success.

    Are you able to provide some code that reproduces the issue? In the screenshot, it looks like _$OfferingImpl is the class showing the duplicates, so taking a copy of that class any superclasses (and even stripping it back to only the definitions of monthly throughout the hierarchy) might trigger the issue.

    Thanks!

  4. added
    awaiting infoRequires more information from the customer to progress
    on Jun 5, 2024
  5. DanTup commented on Jun 5, 2024

    @DanTup
    Member

    I found the RevenueCat example project but it doesn't seem to use Freezed, so I suspect that won't repro it. I've tried stepping through a few of freezed's tests and examining some of those objects, but don't see the duplication. It may be hard to track down without some more info about the hierarchy in your example.

    A log file may also be useful if a repro can't be provided.

  6. obayit commented on Jun 10, 2024

    @obayit

    Same issue?

  7. DanTup commented on Jun 10, 2024

    @DanTup
    Member

    @obayit seems like it - do you have any example code that repros this that I could debug with?

  8. obayit commented on Jun 10, 2024

    @obayit

    @DanTup Yeah, this repo here.
    make a breakpoint at line 149 in main.dart

    Edit: add picture:
    Screenshot from 2024-06-10 13-46-41

  9. DanTup commented on Jun 10, 2024

    @DanTup
    Member

    @obayit thank you, taking a look!

  10. DanTup commented on Jun 10, 2024

    @DanTup
    Member

    Some logs for my reference. It does look like it might be because of a field and a getter, so perhaps my testing when I noted this above didn't cover all cases. I'll try to extract a smaller repro.

    [12:08:58 PM] [DAP] [Info] ==> {"command":"variables","arguments":{"variablesReference":31,"format":{"hex":false}},"type":"request","seq":23}
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] ==> [VM] {"jsonrpc":"2.0","id":"38","method":"getObject","params":{"isolateId":"isolates/2943327467792323","objectId":"objects/99"}}
    // This response contains nameUnique12345 (classes/1367/fields/nameUnique12345)
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] <== [VM] {"jsonrpc":"2.0","result":{"type":"Instance","class":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"size":32,"identityHashCode":2827046391,"id":"objects/103","fields":[{"decl":{"type":"@Field","fixedId":true,"id":"classes/1367/fields/id","name":"id","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"declaredType":{"type":"@Instance","_vmType":"Type","class":{"type":"@Class","fixedId":true,"id":"classes/48","name":"_Type","_vmName":"_Type@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":817,"endTokenPos":1112,"line":24,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":3313209299,"kind":"Type","fixedId":true,"id":"classes/184/types/0","typeClass":{"type":"@Class","fixedId":true,"id":"classes/184","name":"int","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fint.dart/0","uri":"dart:core/int.dart","_kind":"kernel"},"tokenPos":1265,"endTokenPos":16970,"line":28,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"name":"int"},"static":false,"final":true,"const":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1715,"endTokenPos":1717,"line":59,"column":13}},"name":"id","value":{"type":"@Instance","_vmType":"Smi","class":{"type":"@Class","fixedId":true,"id":"classes/59","name":"_Smi","_vmName":"_Smi@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fintegers.dart/0","uri":"dart:core-patch/integers.dart","_kind":"kernel"},"tokenPos":17144,"endTokenPos":25392,"line":556,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":0,"kind":"Int","fixedId":true,"id":"objects/int-5","valueAsString":"5"}},{"decl":{"type":"@Field","fixedId":true,"id":"classes/1367/fields/nameUnique12345","name":"nameUnique12345","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"declaredType":{"type":"@Instance","_vmType":"Type","class":{"type":"@Class","fixedId":true,"id":"classes/48","name":"_Type","_vmName":"_Type@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":817,"endTokenPos":1112,"line":24,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":3162043327,"kind":"Type","fixedId":true,"id":"classes/186/types/0","typeClass":{"type":"@Class","fixedId":true,"id":"classes/186","name":"String","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fstring.dart/0","uri":"dart:core/string.dart","_kind":"kernel"},"tokenPos":4190,"endTokenPos":29182,"line":107,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"name":"String"},"static":false,"final":true,"const":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1746,"endTokenPos":1761,"line":61,"column":16}},"name":"nameUnique12345","value":{"type":"@Instance","_vmType":"String","class":{"type":"@Class","fixedId":true,"id":"classes/93","name":"_OneByteString","_vmName":"_OneByteString@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fstring_patch.dart/0","uri":"dart:core-patch/string_patch.dart","_kind":"kernel"},"tokenPos":33998,"endTokenPos":46306,"line":1005,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":0,"id":"objects/104","kind":"String","length":18,"valueAsString":"My POS Unique54321"}}],"kind":"PlainInstance","length":2},"id":"38"}
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] ==> [VM] {"jsonrpc":"2.0","id":"39","method":"getObject","params":{"isolateId":"isolates/2943327467792323","objectId":"classes/1367"}}
    // This response contains nameUnique12345 (classes/1367/fields/nameUnique12345)
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] <== [VM] {"jsonrpc":"2.0","result":{"type":"Class","class":{"type":"@Class","fixedId":true,"id":"classes/5","name":"Class","library":{"type":"@Instance","_vmType":"null","class":{"type":"@Class","fixedId":true,"id":"classes/170","name":"Null","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fnull.dart/0","uri":"dart:core/null.dart","_kind":"kernel"},"tokenPos":925,"endTokenPos":1171,"line":23,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"kind":"Null","fixedId":true,"id":"objects/null","valueAsString":"null"}},"size":208,"fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"},"abstract":false,"const":false,"isSealed":false,"isMixinClass":false,"isBaseClass":false,"isInterfaceClass":false,"isFinal":false,"_finalized":true,"_implemented":false,"_patch":false,"traceAllocations":false,"super":{"type":"@Class","fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"superType":{"type":"@Instance","_vmType":"Type","class":{"type":"@Class","fixedId":true,"id":"classes/48","name":"_Type","_vmName":"_Type@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":817,"endTokenPos":1112,"line":24,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":992048172,"kind":"Type","fixedId":true,"id":"classes/1362/types/0","typeClass":{"type":"@Class","fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"name":"Pos"},"interfaces":[],"fields":[{"type":"@Field","fixedId":true,"id":"classes/1367/fields/id","name":"id","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"declaredType":{"type":"@Instance","_vmType":"Type","class":{"type":"@Class","fixedId":true,"id":"classes/48","name":"_Type","_vmName":"_Type@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":817,"endTokenPos":1112,"line":24,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":3313209299,"kind":"Type","fixedId":true,"id":"classes/184/types/0","typeClass":{"type":"@Class","fixedId":true,"id":"classes/184","name":"int","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fint.dart/0","uri":"dart:core/int.dart","_kind":"kernel"},"tokenPos":1265,"endTokenPos":16970,"line":28,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"name":"int"},"static":false,"final":true,"const":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1715,"endTokenPos":1717,"line":59,"column":13}},{"type":"@Field","fixedId":true,"id":"classes/1367/fields/nameUnique12345","name":"nameUnique12345","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"declaredType":{"type":"@Instance","_vmType":"Type","class":{"type":"@Class","fixedId":true,"id":"classes/48","name":"_Type","_vmName":"_Type@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":817,"endTokenPos":1112,"line":24,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":3162043327,"kind":"Type","fixedId":true,"id":"classes/186/types/0","typeClass":{"type":"@Class","fixedId":true,"id":"classes/186","name":"String","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fstring.dart/0","uri":"dart:core/string.dart","_kind":"kernel"},"tokenPos":4190,"endTokenPos":29182,"line":107,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"name":"String"},"static":false,"final":true,"const":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1746,"endTokenPos":1761,"line":61,"column":16}}],"functions":[{"type":"@Function","fixedId":true,"id":"classes/1367/functions/get%3Aid","name":"id","_vmName":"get:id","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"ImplicitGetter","static":false,"const":true,"implicit":true,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1715,"endTokenPos":1717,"line":59,"column":13}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/get%3AnameUnique12345","name":"nameUnique12345","_vmName":"get:nameUnique12345","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"ImplicitGetter","static":false,"const":true,"implicit":true,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1746,"endTokenPos":1761,"line":61,"column":16}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/_%24Pos%4018357596._%4018357596","name":"_$Pos._","_vmName":"_$Pos@18357596._@18357596","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"Constructor","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1876,"endTokenPos":2108,"line":66,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/_%24Pos%4018357596.","name":"_$Pos","_vmName":"_$Pos@18357596.","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"Constructor","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1766,"endTokenPos":1871,"line":63,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/rebuild","name":"rebuild","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":2113,"endTokenPos":2219,"line":72,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/toBuilder","name":"toBuilder","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":2224,"endTokenPos":2293,"line":76,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/%3D%3D","name":"==","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":2298,"endTokenPos":2493,"line":79,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/get%3AhashCode","name":"hashCode","_vmName":"get:hashCode","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"GetterFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":true,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":2498,"endTokenPos":2687,"line":87,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1367/functions/toString","name":"toString","owner":{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":2692,"endTokenPos":2874,"line":96,"column":3}}],"subclasses":[]},"id":"39"}
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] ==> [VM] {"jsonrpc":"2.0","id":"40","method":"getObject","params":{"isolateId":"isolates/2943327467792323","objectId":"classes/1362"}}
    // This response contains nameUnique12345 (classes/1362/functions/get%3AnameUnique12345)
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] <== [VM] {"jsonrpc":"2.0","result":{"type":"Class","class":{"type":"@Class","fixedId":true,"id":"classes/5","name":"Class","library":{"type":"@Instance","_vmType":"null","class":{"type":"@Class","fixedId":true,"id":"classes/170","name":"Null","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fnull.dart/0","uri":"dart:core/null.dart","_kind":"kernel"},"tokenPos":925,"endTokenPos":1171,"line":23,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"kind":"Null","fixedId":true,"id":"objects/null","valueAsString":"null"}},"size":208,"fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"},"abstract":true,"const":false,"isSealed":false,"isMixinClass":false,"isBaseClass":false,"isInterfaceClass":false,"isFinal":false,"_finalized":true,"_implemented":false,"_patch":false,"traceAllocations":false,"super":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"superType":{"type":"@Instance","_vmType":"Type","class":{"type":"@Class","fixedId":true,"id":"classes/48","name":"_Type","_vmName":"_Type@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":817,"endTokenPos":1112,"line":24,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":585283724,"kind":"Type","fixedId":true,"id":"classes/44/types/0","typeClass":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"name":"Object"},"interfaces":[{"type":"@Instance","_vmType":"Type","class":{"type":"@Class","fixedId":true,"id":"classes/48","name":"_Type","_vmName":"_Type@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":817,"endTokenPos":1112,"line":24,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":753358009,"kind":"Type","id":"objects/105","typeClass":{"type":"@Class","fixedId":true,"id":"classes/1363","name":"Built","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@20432902/scripts/package%3Abuilt_value%2Fbuilt_value.dart/19001d5a134","uri":"package:built_value/built_value.dart","_kind":"kernel"},"tokenPos":475,"endTokenPos":1025,"line":13,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@20432902","name":"","uri":"package:built_value/built_value.dart"},"typeParameters":[{"type":"@Instance","_vmType":"TypeParameter","class":{"type":"@Class","fixedId":true,"id":"classes/51","name":"_TypeParameter","_vmName":"_TypeParameter@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":1539,"endTokenPos":1684,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":3895791509,"id":"objects/106","kind":"TypeParameter","name":"X0","parameterizedClass":{"type":"@Instance","_vmType":"Class","class":{"type":"@Class","fixedId":true,"id":"classes/170","name":"Null","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fnull.dart/0","uri":"dart:core/null.dart","_kind":"kernel"},"tokenPos":925,"endTokenPos":1171,"line":23,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"kind":"Null","fixedId":true,"id":"objects/null","valueAsString":"null"}},{"type":"@Instance","_vmType":"TypeParameter","class":{"type":"@Class","fixedId":true,"id":"classes/51","name":"_TypeParameter","_vmName":"_TypeParameter@0150898","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Ftype_patch.dart/0","uri":"dart:core-patch/type_patch.dart","_kind":"kernel"},"tokenPos":1539,"endTokenPos":1684,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"identityHashCode":1219630996,"id":"objects/107","kind":"TypeParameter","name":"X1","parameterizedClass":{"type":"@Instance","_vmType":"Class","class":{"type":"@Class","fixedId":true,"id":"classes/170","name":"Null","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fnull.dart/0","uri":"dart:core/null.dart","_kind":"kernel"},"tokenPos":925,"endTokenPos":1171,"line":23,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"kind":"Null","fixedId":true,"id":"objects/null","valueAsString":"null"}}]},"name":"Built<Pos, PosBuilder>"}],"fields":[],"functions":[{"type":"@Function","fixedId":true,"id":"classes/1362/functions/Pos._%4018357596","name":"Pos._","_vmName":"Pos._@18357596","owner":{"type":"@Class","fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"Constructor","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":417,"endTokenPos":424,"line":16,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1362/functions/get%3Aserializer","name":"serializer","_vmName":"get:serializer","owner":{"type":"@Class","fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"GetterFunction","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":true,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":256,"endTokenPos":312,"line":10,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1362/functions/get%3Aid","name":"id","_vmName":"get:id","owner":{"type":"@Class","fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"GetterFunction","static":false,"const":false,"implicit":false,"abstract":true,"_intrinsic":false,"_native":false,"isGetter":true,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":317,"endTokenPos":327,"line":12,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1362/functions/get%3AnameUnique12345","name":"nameUnique12345","_vmName":"get:nameUnique12345","owner":{"type":"@Class","fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"GetterFunction","static":false,"const":false,"implicit":false,"abstract":true,"_intrinsic":false,"_native":false,"isGetter":true,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":331,"endTokenPos":357,"line":13,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/1362/functions/Pos.","name":"Pos","_vmName":"Pos.","owner":{"type":"@Class","fixedId":true,"id":"classes/1362","name":"Pos","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":199,"endTokenPos":426,"line":9,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}},"_kind":"Constructor","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.dart/19001d5a122","uri":"package:stuff/built/my_models.dart","_kind":"kernel"},"tokenPos":362,"endTokenPos":413,"line":15,"column":3}}],"subclasses":[{"type":"@Class","fixedId":true,"id":"classes/1367","name":"_$Pos","_vmName":"_$Pos@18357596","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@18357596/scripts/package%3Astuff%2Fbuilt%2Fmy_models.g.dart/19001d5a122","uri":"package:stuff/built/my_models.g.dart","_kind":"kernel"},"tokenPos":1665,"endTokenPos":2876,"line":57,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@18357596","name":"odoo_models","uri":"package:stuff/built/my_models.dart"}}]},"id":"40"}
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] ==> [VM] {"jsonrpc":"2.0","id":"41","method":"getObject","params":{"isolateId":"isolates/2943327467792323","objectId":"classes/44"}}
    [12:08:58 PM] [General] [Info] [Flutter (Windows)] <== [VM] {"jsonrpc":"2.0","result":{"type":"Class","class":{"type":"@Class","fixedId":true,"id":"classes/5","name":"Class","library":{"type":"@Instance","_vmType":"null","class":{"type":"@Class","fixedId":true,"id":"classes/170","name":"Null","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fnull.dart/0","uri":"dart:core/null.dart","_kind":"kernel"},"tokenPos":925,"endTokenPos":1171,"line":23,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"kind":"Null","fixedId":true,"id":"objects/null","valueAsString":"null"}},"size":208,"fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"},"abstract":false,"const":true,"isSealed":false,"isMixinClass":false,"isBaseClass":false,"isInterfaceClass":false,"isFinal":false,"_finalized":true,"_implemented":false,"_patch":false,"traceAllocations":false,"interfaces":[],"fields":[],"functions":[{"type":"@Function","fixedId":true,"id":"classes/44/functions/Object.","name":"Object","_vmName":"Object.","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"Constructor","static":false,"const":true,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":1076,"endTokenPos":1126,"line":24,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/get%3A_identityHashCode%400150898","name":"_identityHashCode","_vmName":"get:_identityHashCode@0150898","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"GetterFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":true,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":773,"endTokenPos":816,"line":25,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/_toString%400150898","name":"_toString","_vmName":"_toString@0150898","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":true,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":966,"endTokenPos":1052,"line":31,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/_haveSameRuntimeType%400150898","name":"_haveSameRuntimeType","_vmName":"_haveSameRuntimeType@0150898","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":true,"_native":true,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":1508,"endTokenPos":1735,"line":47,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/_instanceOf%400150898","name":"_instanceOf","_vmName":"_instanceOf@0150898","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":true,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":1875,"endTokenPos":2050,"line":55,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/_simpleInstanceOf%400150898","name":"_simpleInstanceOf","_vmName":"_simpleInstanceOf@0150898","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":true,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":2121,"endTokenPos":2251,"line":61,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/_simpleInstanceOfTrue%400150898","name":"_simpleInstanceOfTrue","_vmName":"_simpleInstanceOfTrue@0150898","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":2255,"endTokenPos":2331,"line":64,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/_simpleInstanceOfFalse%400150898","name":"_simpleInstanceOfFalse","_vmName":"_simpleInstanceOfFalse@0150898","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":2335,"endTokenPos":2413,"line":66,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/%3D%3D","name":"==","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":true,"_native":true,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":512,"endTokenPos":721,"line":16,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/get%3AhashCode","name":"hashCode","_vmName":"get:hashCode","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"GetterFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":true,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":726,"endTokenPos":769,"line":23,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/toString","name":"toString","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":true,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":821,"endTokenPos":905,"line":27,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/noSuchMethod","name":"noSuchMethod","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":1057,"endTokenPos":1289,"line":34,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/get%3AruntimeType","name":"runtimeType","_vmName":"get:runtimeType","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"GetterFunction","static":false,"const":false,"implicit":false,"abstract":false,"_intrinsic":true,"_native":true,"isGetter":true,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore-patch%2Fobject_patch.dart/0","uri":"dart:core-patch/object_patch.dart","_kind":"kernel"},"tokenPos":1294,"endTokenPos":1503,"line":41,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/hash","name":"hash","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":7654,"endTokenPos":15946,"line":182,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/hashAll","name":"hashAll","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":17409,"endTokenPos":17634,"line":511,"column":3}},{"type":"@Function","fixedId":true,"id":"classes/44/functions/hashAllUnordered","name":"hashAllUnordered","owner":{"type":"@Class","fixedId":true,"id":"classes/44","name":"Object","location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":835,"endTokenPos":19203,"line":17,"column":1},"library":{"type":"@Library","fixedId":true,"id":"libraries/@0150898","name":"dart.core","uri":"dart:core"}},"_kind":"RegularFunction","static":true,"const":false,"implicit":false,"abstract":false,"_intrinsic":false,"_native":false,"isGetter":false,"isSetter":false,"location":{"type":"SourceLocation","script":{"type":"@Script","fixedId":true,"id":"libraries/@0150898/scripts/dart%3Acore%2Fobject.dart/0","uri":"dart:core/object.dart","_kind":"kernel"},"tokenPos":18857,"endTokenPos":19201,"line":549,"column":3}}],"subclasses":[]},"id":"41"}
    [12:08:58 PM] [DAP] [Info] <== {
    	"seq": 928,
    	"type": "response",
    	"body": {
    		"variables": [
    			{
    				"evaluateName": "response.nameUnique12345",
    				"name": "nameUnique12345",
    				"value": "\"My POS Unique54321\"",
    				"variablesReference": 0
    			},
    			{
    				"evaluateName": "response.nameUnique12345",
    				"name": "nameUnique12345",
    				"value": "\"My POS Unique54321\"",
    				"variablesReference": 0
    			},
    			// ....
    		]
    	},
    	"command": "variables",
    	"request_seq": 23,
    	"success": true
    }
    
  11. removed
    awaiting infoRequires more information from the customer to progress
    on Jun 10, 2024
  12. DanTup commented on Jun 10, 2024

    @DanTup
    Member

    Looks like the issue is when a field overrides a getter (I tried the other way around). Here's a smaller repro:

    import 'dart:developer';
    
    void main() {
      var response2 = ConcreteWithField('dupe');
      debugger();
    }
    
    abstract class AbstractBaseWithGetter {
      String get nameUnique12345;
    }
    
    class ConcreteWithField extends AbstractBaseWithGetter {
      @override
      final String nameUnique12345;
    
      ConcreteWithField(this.nameUnique12345);
    }

    Will work on a fix. Thanks for the repro! :)

  13. added
    relies on sdk changesSomething that requires changes in the Dart/Flutter SDK to ship before it will become available
    on Jun 10, 2024
  14. lukehutch commented on Jun 11, 2024

    @lukehutch
    Author

    Sorry I dropped the ball on responding quickly on this, but thanks @obayit for stepping up!

    I agree that this is almost certainly an override problem. I don't know if it's about a field overriding a getter in every case, but I can say that at least of what I observed, the value was the same in both cases when there was duplication.

  15. DanTup commented on Jun 11, 2024

    @DanTup
    Member

    It's not actually guaranteed they were always the same - if you override a field with a getter that returns a different value, you would have seen both the field and the getter:

    image

    However I feel that showing the field is a bit pointless (because any access to a.b would be the getter for b and never the field) so rather than trying to distinguish these, my fix just hides the field when there's a getter.

    Working on a fix at https://dart-review.googlesource.com/c/sdk/+/370640.

  16. DanTup commented on Jun 11, 2024

    @DanTup
    Member

    This is fixed by dart-lang/sdk@b8cb98d in the Dart SDK. It'll need a DDS release and to roll into Flutter before it shows up there (and then ultimately, stable releases of each SDK).

    I'll keep this issue open until it's rolled into Flutter as a reminder that that hasn't happened yet.

  17. stan-at-work commented on Jun 20, 2024

    @stan-at-work
  18. DanTup commented on Jun 25, 2024

    @DanTup
    Member

    The fix for this has now rolled into Flutter's master channel. Using the repro project from above there are now no duplicates:

    image

  19. lukehutch commented on Jun 25, 2024

    @lukehutch
    Author

    @DanTup thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    in debuggingRelates to the debug adapter or process of running debug sessionsis bugrelies on sdk changesSomething that requires changes in the Dart/Flutter SDK to ship before it will become available

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions