Commit Graph

29 Commits

Author SHA1 Message Date
Vijay Menon 70cc34df21 Custom format errors and exceptions to show traces
Fixes #34529

Change-Id: If5142a9c11808af50d1b7a04346e53e980cce3e6
Reviewed-on: https://dart-review.googlesource.com/76101
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2018-09-24 17:41:33 +00:00
Alan Knight feaf79e5ac Colors that work a little better in dark mode
Change-Id: I7cacbce8f4c8ea365a2f4ef3b9e7af2de1c06350
Reviewed-on: https://dart-review.googlesource.com/61840
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Alan Knight <alanknight@google.com>
2018-07-14 00:12:29 +00:00
Jenny Messerly 1ef4399df0 Run dartfmt --fix for dart2 on pkg/dev_compiler
This uses optional new/const and `=` in named argument defaults.

All changes are automated, except for:

- utils/dartdevc/BUILD.gn: run DDC build scripts with --preview-dart-2
- pkg/dev_compiler/tool/patch_sdk.dart: add a TODO that Analyzer doesn't
  supporting implicit const in libraries.dart
- pkg/dev_compiler/tool/input_sdk/libraries.dart: was not formatted due
  to the aforementioned Analyzer bug
- tools/bots/test_matrix.json: run DDC sourcemap suite in Dart 2 mode
- pkg/pkg.status: skip pkg/dev_compiler if running in Dart 1 mode

Change-Id: I9b80ccba0c2cc7b66efc662a0b16562e3660aee3
Reviewed-on: https://dart-review.googlesource.com/60402
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-06-15 00:28:13 +00:00
Jenny Messerly 8cd33751c6 optimize string concat in dartdevc
String concat now uses + rather than tagged template strings.
Also refactors the JSTypeRep code into a shared location, and fixes a
bug in null inference for op assign expressions in Analyzer backend.

Change-Id: I74fb6950c1d739efb977a03bd639a07afe453eb6
Reviewed-on: https://dart-review.googlesource.com/57522
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-06-07 01:28:02 +00:00
Jenny Messerly 7c6594c0bd fix #32302, friendlier Type.toString() in dartdevc
Change-Id: I650634d17aad8d6b7e154874578eb88cf87fd994
Reviewed-on: https://dart-review.googlesource.com/52081
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-04-25 23:16:56 +00:00
Jenny Messerly 2ddc5495f8 Reduce DDC signature overhead
- changes top-level/static method tearoffs to work similar to instance
  method tearoffs (attach typeinfo at the tearoff location).
- changes getters/setter signatures to a more compact representation.
- fixes incorrect reification of tearoffs in DDC Kernel backend,
  causing a couple of tests to pass after the changes.
- module startup should also be faster, because we avoid using
  `defineLazyProperty` for signatures.

Change-Id: I9d1705adcd5101a99f0599120cb927396eae778a
Reviewed-on: https://dart-review.googlesource.com/48455
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-04-12 02:22:09 +00:00
Alan Knight dcf0a44713 Add an [[instance members]] section when formatting Maps. Also sorts fields ahead of getters in ObjectFormatter
Bug:
Change-Id: I8af2c497b3fef5808a59d19e0c3aab09084fef42
Reviewed-on: https://dart-review.googlesource.com/32503
Reviewed-by: Jacob Richman <jacobr@google.com>
Commit-Queue: Alan Knight <alanknight@google.com>
2018-01-05 23:08:29 +00:00
Alan Knight abf5e4bad4 Use toString() for DDC header previews
For ObjectFormatter right now we just show the class name. Some objects,
e.g. Int64, have descriptive toString() operations that are much more
informative than their internal structure.

This changes the default header to be
  Instance of 'Thing'
rather than just
  Thing
which is a little worse, but it's much better for these kinds of classes.
For Int64 we will now show
  12345 (Int64)

We also clip the toString() if it's too long.

Bug:
Change-Id: Iae6a8e66fdbe1d9f5c157ecdb983a833e26d00f4
Reviewed-on: https://dart-review.googlesource.com/21522
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Alan Knight <alanknight@google.com>
2017-11-16 21:54:02 +00:00
Jacob Richman 8b221d13a4 Fix ddc debugger_test Fix regression in custom formatters due to change in metadata signatures to use Object.__proto__ instead of a null __proto__.
Bug:
Change-Id: I68fdb980e777b7c3f335fd6b57181134e3159cc3
Reviewed-on: https://dart-review.googlesource.com/17060
Commit-Queue: Jacob Richman <jacobr@google.com>
Reviewed-by: Jacob Richman <jacobr@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-31 19:45:27 +00:00
Jenny Messerly 77775c5292 Unroll mixins in DDC, so each mixin application is generated
This is for compatibility with Kernel, as well as fixing several bugs,
and generally being a more robust architecture.

This may also perform better than the current design.

Notable fixes include several issues around deferred classes.

Change-Id: I1b6f44ebdf6304b10b47d19026156a25e04146ef
Reviewed-on: https://dart-review.googlesource.com/16337
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2017-10-27 04:26:44 +00:00
Jennifer Messerly 749d298b6c fix extension member discovery in DDC
In particular, some types like the base/mixin classes for Map in dart:collection did not work correctly.
This also has cleanups/optimizations to how DDC registers signatures, partially addressing #30499
Also fixes #29897, const maps are now immutable in DDC.

Change-Id: Icfdc7921d255a58a9e13908cf800832f787314ee
Reviewed-on: https://dart-review.googlesource.com/7442
Reviewed-by: Jennifer Messerly <jmesserly@google.com>
2017-09-28 23:21:43 +00:00
Jennifer Messerly 04f3c8835f implement Invocation.typeArguments in DDC
also fixes various bugs:
* setters now use the correct memberName symbol, fixes #30223
* object members work for callable classes, fixes #30213
* some test fixes to work in strong mode
* a few other small cleanups (e.g. obsolete `dart.list` is removed)

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2979353002 .
2017-07-21 15:51:16 -07:00
Jacob Richman b280a7803d Dev compiler debugger related tweaks.
Optimize dynamic call tracking using random sampling.
Apply source maps to improve dynamic call tracking accuracy.
Dynamic calls within the sdk are now attributed correctly.

Fix bug formatting modules where we were incorrectly flagging them as JS.

BUG=
R=jmesserly@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2811343002 .
2017-04-17 14:57:31 -07:00
Jacob Richman 7ba7e0cee6 Make all DDC internal stack traces apply source maps.
Make DDC a better platform for debugging by ensuring that stack traces
generated by DDC even when using the raw dart:core StackTrace class
apply JS source maps and benefit from the polish provided by the
stack_trace package.

stack_trace_mapper.dart needs to be compiled to js and included on your
page to benefit from this functionality. Otherwise you will still see
regular JS stack traces as usual.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2735303002 .
2017-03-08 19:13:00 -08:00
Jacob Richman a6a206062d Custom formatter cleanup Fix case where displaying a class constructor generated unreadable huge output. Fix case where exceptions were throw. Correct display of statics, fix indentation bugs. Add improved custom formatter test to main repro. As a drive by fix, switch hashCode to use a symbol instead of the name $identityHash as $identityHash was making custom formatter test output unstable.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2703263002 .
2017-02-28 17:47:53 -08:00
Brenna Milligan 8b0b57844b Get rid of library proto information for debugger libraries
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2208533003 .
2016-08-02 17:08:27 -07:00
Brenna Milligan a7dc32f424 Deprecation of ClassMetadata wrapper for Class formatters so a stand-alone class is recognizable.
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2205733002 .
2016-08-02 09:43:02 -07:00
Brenna Milligan d18ab46592 Addition of StackTrace formatters
R=alanknight@google.com, jacobr@google.com

Review URL: https://codereview.chromium.org/2189673002 .
2016-07-27 15:14:55 -07:00
Brenna Milligan d7c7c19c54 Library children object fix
R=alanknight@google.com, jacobr@google.com

Review URL: https://codereview.chromium.org/2176233002 .
2016-07-25 17:44:59 -07:00
Brenna Milligan 3d03bee32d Library custom formatters
R=alanknight@google.com, jacobr@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/2164763005 .
2016-07-22 14:15:53 -07:00
Brenna Milligan 409fbcf956 Custom formatter popup booleans
BUG=
R=alanknight@google.com

Review URL: https://codereview.chromium.org/2137063003 .
2016-07-11 16:21:04 -07:00
Brenna Milligan 844cfdb990 maxspanlength setter
Merge branch 'master' of https://github.com/dart-lang/dev_compiler

Merge branch 'master' of https://github.com/dart-lang/dev_compiler

comments and 10001 case

naming and logic changes

logic updates and variable renaming

Merge branch 'master' of https://github.com/dart-lang/dev_compiler

Array formatting customized to look like JS

BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2101233004 .
2016-06-28 13:48:41 -07:00
Brenna Milligan d55b213947 Array formatting customized to look like JS
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2100803007 .
2016-06-28 11:13:51 -07:00
Priscilla Lee 5016cbce59 Fixed type error in MapEntry and added keyToStringConfig to display the toString() of a key in a MapEntry preview.
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2033433007 .
2016-06-08 10:12:53 -07:00
Jacob Richman 41bac633e1 Fix debugger
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1997473007 .
2016-05-20 11:11:43 -07:00
Bob Nystrom 44db042cd8 Redo how Type objects are exposed from DDC.
- Instead of using the raw runtime type that DDC uses for its type
  checks, use a WrappedType that correctly implements Type's interface.
- Compile class literals to wrap the type in a WrappedType.
- Make Object.runtimeType() do the same thing.

Fixes #488. Fixes #511.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1944483002 .
2016-05-03 14:24:08 -07:00
Olivier Chafik 09845fbaf7 Use dart.global instead of window in debugger.dart
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1706973002 .
2016-02-18 16:38:00 +00:00
Olivier Chafik edaf069dba Add --modules=node support
- Force import order in all sdk files + simplify module builders
- Stub a node_test.sh with hello world + DeltaBlue (to be expanded to language tests in a followup change)
- Use global_ from dart:_runtime in html lib
- Better export for symbols that node chokes upon: throw, const, void, implements, export... (define as throw_ locally, with proper local resolution, then export as throw).
- Cleanup node module builder

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1633003002 .
2016-01-29 10:01:48 +00:00
Jacob Richman 2dfc37b9ed Use the great new Devtools API for custom formatters. Now Dart objects are now generally as easy to view in the debugger in Chrome using dev_compiler as they are using Dartium. There are still some edge cases that need to be polished but most of the general property display and type information is done.
Checkpoint in devtools debugger support.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1625563002 .
2016-01-22 13:28:28 -08:00