Commit Graph

7128 Commits

Author SHA1 Message Date
Konstantin Shcheglov 55ff0abde5 Rework building types for type annotations and declarations.
It is possible that a TypeName is a typedef, for which we have not
built types for its return type and parameter types. So, we cannot
rely on the order of nodes in NodesToBuildType. We have to build types
recursively.

R=brianwilkerson@google.com

Change-Id: Idb865ed1723456ccaea49802ea5e869e544461d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-15 20:06:13 +00:00
danrubel 0b6c61dbd3 tests for issue 36055
Change-Id: I1ccd5deb6cff6e046895220ffdd03842ec5c20d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99362
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-15 19:28:45 +00:00
Brian Wilkerson ec0447db5d Add support for using ExpectedError and convert a couple of tests over to use it
Change-Id: I04a89cc922e0046dee4d7e9f964f272cfc60a055
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99320
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-15 02:17:44 +00:00
Brian Wilkerson ea8d6e6fa9 Rename some error checking methods
Change-Id: I5a750c16a8c49d724f964efa5184a3d82abce8ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99300
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-04-14 15:10:33 +00:00
Konstantin Shcheglov 3e6fd64a8a Dependencies based type inference with AST summaries.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I1513d54f6d6dbab70fa58af8d9c68a186c2a1ee3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99273
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-14 04:54:33 +00:00
Brian Wilkerson 0aa5547de1 Add missed tests and fix bug
Change-Id: I7696207525a009860f813ddcb94528edbf12ac4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99244
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-04-13 20:39:13 +00:00
Paul Berry 22a843a23d Fix precedence of postfix "!" operator
Change-Id: I00446e15cd7e19285b35742a1936c36b1faf4774
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99282
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-13 16:20:22 +00:00
danrubel 2e7bd1359d parse dart language version comment
This updates the parser to recognize a language version comment
of the form

// @dart = <major>.<minor>

as specified in
https://github.com/dart-lang/language/blob/master/accepted/future-releases/language-versioning/language-versioning.md#individual-library-language-version-override

Change-Id: I884620ac7da86025f5b408bcba8dd1f77e4c523c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99261
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-13 13:09:22 +00:00
Sam Rawlins e89850f95d Move STRICT_RAW_TYPE on constructors to INFERENCE_FAILURE_ON_INSTANCE_CREATION
Bug: https://github.com/dart-lang/sdk/issues/33749 https://github.com/dart-lang/sdk/issues/36445
Change-Id: Ic34f0e07b1cc5cbbc265ab2c32cabc61d7901c0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99264
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-04-12 23:51:21 +00:00
Brian Wilkerson 0314d86af4 Add errors when a nullable type is used as a supertype
Change-Id: I82471ba67dd74db6425bb2081bd761eb2b490333
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99284
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-12 21:13:21 +00:00
Konstantin Shcheglov 85f623374a Triage and fix some more tests.
R=brianwilkerson@google.com

Change-Id: Ia5fcd1591532c3030eb2030ea483192b8c35fd05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99242
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-12 14:19:17 +00:00
Konstantin Shcheglov 5746227588 Support for configurations in import/export directives.
R=brianwilkerson@google.com

Change-Id: I5dce86c0f8b20a3f06323783737b12469bf43067
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-12 14:14:28 +00:00
Brian Wilkerson c2eb9a9860 Add support to the element model for both lazy variables and required parameters
Change-Id: I2733f26cc4ee1be28fc96bbf23402e34449ff030
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99241
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-12 12:41:48 +00:00
Konstantin Shcheglov 022400eecb Fix several small issues with AST based summaries.
R=brianwilkerson@google.com

Change-Id: I716b55f2a656b56d4999547da03308dc11ec3b52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99190
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-12 00:50:06 +00:00
Konstantin Shcheglov e129b201e5 Fix for absent names of parameters in GenericFunctionType.
R=brianwilkerson@google.com

Change-Id: I9a6444cc076b5d6a79c4ebf33fae9deef85e2049
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99189
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-11 21:29:12 +00:00
Konstantin Shcheglov ed280a98a2 Instantiate to bounds when resolving type names.
R=brianwilkerson@google.com

Change-Id: I55ea6339b5b949f986f7e6becc60c0328496489e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99188
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-11 21:24:29 +00:00
Konstantin Shcheglov a91381ab07 Build local elements in initializer expressions, so support closures.
R=brianwilkerson@google.com

Change-Id: Ic84841835ed4a24c3a58ed0ef3c3d1332e12e8f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99186
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-11 20:20:02 +00:00
Konstantin Shcheglov d4fee0a85e Issue 36576. Add returnType to constructor in available declarations.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/36576
Change-Id: I6acbf82bbaafc1ab5a1599cd415cdb11600064a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-11 18:59:43 +00:00
Konstantin Shcheglov 32f120c1e9 Resolve default values in AST summaries.
R=brianwilkerson@google.com

Change-Id: I60bfb04a2616371c6079c7a5819f78ab13fd601b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99202
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-11 18:55:28 +00:00
danrubel 5dd89ef9a0 fix invalid var init parser recovery
Fix https://github.com/Dart-Code/Dart-Code/issues/1548

Change-Id: Ib593c17fa8dfcee3c8ad139b72ceff56497d43a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99093
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-11 18:42:02 +00:00
Konstantin Shcheglov 7943e50cfd Compute simply bounded types.
R=brianwilkerson@google.com

Change-Id: Ie992ccba43d2a5fca293c7791ee11875ca73c01f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99184
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-11 18:17:23 +00:00
Konstantin Shcheglov e104054059 Rework storing type parameters and function types.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ia2c71237cf0f7d9c31c7036522bb24a1aaead92f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99094
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-11 17:22:42 +00:00
Sam Rawlins b857d53e7e Re-work collection literal strict-raw-type to strict-inference
Bug: https://github.com/dart-lang/sdk/issues/36445 https://github.com/dart-lang/sdk/issues/33749
Change-Id: I127d671840bfcfe3857225932164fa4098963715
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99085
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-11 16:20:06 +00:00
Konstantin Shcheglov 318967456c Resolve constructor initializers.
R=brianwilkerson@google.com

Change-Id: I55101108af0e63f23d3af89a3cb23dc5e46e6392
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98877
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-11 06:07:43 +00:00
Paul Berry 5ed4cdac5d Remove unused import
Change-Id: I295192ea5885a283210e3530be77cf68bc202945
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98950
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-10 13:23:56 +00:00
Sigmund Cherem a7175938c3 Remove use of package_root in analyzer/test/error_test
context: the package_root logic is not portable to how we run this test outside
the sdk in other build systems like bazel. To make it work in bazel, we
currently use const.fromEnvironment to override the location of the package
root. Due to upcoming changes to constant evaluation we can't continue using
const.fromEnvironment.

I considered 3 other options:
 * using Platform.environment
 * changing platform_root to be more sophisticated (e.g. look for a folder
 containing `test`, instead of looking for `pkg`)
 * directly defining the root at the beginning of main based on Platform.script

The latter works out of the box in bazel and is also pretty simple, so I felt it
was a good choice.

Note: there are several other tests depending on package_root that we can update
in a similar fashion. Today this is the only test that depends on package_root
that we are running internally in bazel.
Change-Id: Ie7b79a82c78605048b26b9676eac2fbd8b15aaa7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98879
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-04-09 16:46:57 +00:00
Konstantin Shcheglov 91c042c066 Implement isCovariant for fields.
R=brianwilkerson@google.com

Change-Id: I31f9b60a9d17ecd73114827a417392d912523f94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98878
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-09 16:01:48 +00:00
Konstantin Shcheglov 06ed3f598c Resolve PrefixedIdentifier during linking.
R=brianwilkerson@google.com

Change-Id: I2c3b82c748867697fdf5903ea5d29b2c6041a96a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98924
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-09 15:55:33 +00:00
Sam Rawlins f91de94d33 Add Element.hasOptionalTypeArgs; update strong_test_helper to use more
modern mixins

* Remove AbstractStrongTest.enableNewAnalysisDriver; it is always true.
* Add Element.hasOptionalTypeArgs, which requires changing
  AbstractStrongTest to use PackageMixin and PackageMapUriResolver,
  instead of the custom _TestUriResolver.

Change-Id: Iecb6e37ed5894d42ad965022a8c52e3b5f625655
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-04-09 15:13:33 +00:00
Paul Berry b6dbdfa62d Fix test in preparation for constant-update-2018.
This will prevent a spurious error when the flag is enabled.

Change-Id: I2f432844b5d41d7a13aff04644193341a5be69c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98942
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-09 15:03:33 +00:00
Konstantin Shcheglov ca78eed3ea Issue 36529. Report Null typed spread in not-null-aware spreads.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/36529
Change-Id: I60c092a18b668605f53f3258f3d74c333e9d1427
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98923
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-09 01:53:49 +00:00
Konstantin Shcheglov 6e1baa60e0 Resolve metadata for other nodes.
R=brianwilkerson@google.com

Change-Id: I86bec8e75ec24729ef7bf188bbfd3545a90c6a5d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98907
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-08 23:16:29 +00:00
Konstantin Shcheglov e9765499cc Support for name offset, code offset/length, documentation.
R=brianwilkerson@google.com

Change-Id: I58671f9e9acc554e615382568d9c979cabb7c0c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98905
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 21:20:28 +00:00
Konstantin Shcheglov 29a6ad3beb Lazy AstBinaryReader is always lazy.
We don't need another flag, moreover inter-dependencies between
type parameters require us always being lazy when we are reading any
resolved unit.

R=brianwilkerson@google.com

Change-Id: I5e2fcf547c2667ef6d2faa1827562b7a8e6c61f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98871
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 20:44:54 +00:00
Konstantin Shcheglov b23817105c Build types for function typed formal parameters.
R=brianwilkerson@google.com

Change-Id: Ieff0ab7eee8bb3baaf016defb1ebcbeb65bf7df6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98902
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 19:21:38 +00:00
Konstantin Shcheglov 3ffe59e1e9 Fix for URIs of parts.
R=brianwilkerson@google.com

Change-Id: I6442d06967d709398c4a1fcb85c4328e72ee8ade
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98901
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 17:59:51 +00:00
Konstantin Shcheglov f1f297e213 Build export elements and combinators.
R=brianwilkerson@google.com

Change-Id: I11de7239bcc40ae89ff0ee1c70603aebdccace1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 17:33:24 +00:00
Konstantin Shcheglov 762acf00e8 Restore computing export scopes.
R=brianwilkerson@google.com

Change-Id: I36d758694b85fd77ebc54974859648f864109425
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 17:12:58 +00:00
Sam Rawlins 959cf5967d Simplify strong_test_helper
Change-Id: Ida1b564d6b09a5233f8529d395938db1424b6551
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98725
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-04-08 16:58:53 +00:00
Konstantin Shcheglov aacc0b0709 Index more declarations and build more scopes.
R=brianwilkerson@google.com

Change-Id: I57e0fdae77cee0be92c92c327f8b0d8b3b082da7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 16:41:29 +00:00
Konstantin Shcheglov 258d2f121b Rewrite more element model to using AST.
Change-Id: Ic0e8c100806146182e3e1018d2d966260f93176f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-08 15:24:04 +00:00
Brian Wilkerson 86b5304ccd Revert "Fix mustCallSuper for mixins and inherited interfaces:"
This reverts commit 1ad11facec.

Reason for revert: The CL broke the flutter-analyze bot.

Original change's description:
> Fix mustCallSuper for mixins and inherited interfaces:
> 
> * If a method overrides a mixed in @mustCallSuper method, it should call super.
> * If a method overrides a method from a supertype, which itself overrides a
>   method from an interface, the first method should call super.
> 
> Fixes internal b/70374204.
> 
> Change-Id: I645de4a288a8c5ffff173e97692f8eb6fe38bdb5
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98443
> Commit-Queue: Samuel Rawlins <srawlins@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

TBR=brianwilkerson@google.com,srawlins@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I9339e6a8933f6d25b3bcbdbac0b6a1d304a3693b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98803
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-07 16:58:27 +00:00
Devon Carew 389ccc9000 when analyzing fuchsia workspaces, expect to find .fx-build-dir files
Change-Id: I7ac5dac157d86d1d98db476734d8f51cd8364851
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-04-06 00:48:04 +00:00
Konstantin Shcheglov 73b931b6e6 Start reworking to use actual AST nodes created lazily.
Change-Id: I94746fd27eb02b928f4983fe88bcf2a72f600aaf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98724
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-05 23:08:54 +00:00
Konstantin Shcheglov 4b9b8562c6 Update expectation for conditional expression and constant_update_2018.
R=brianwilkerson@google.com

Change-Id: Ie02053740ff3f643d93a754491e3727c246774b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-05 20:42:24 +00:00
Jenny Messerly da4ccd0855 [analyzer] fix #32918, eliminate type variables during const inference
This brings Analyzer's type inference in line with the language spec.
Similar to CFE, the inference function now takes an isConst parameter,
which if set, tells it to eliminate type variables from the context
type.

Change-Id: Ied67bac39d73c9ecd7e0a482a0c8db77272637cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98707
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2019-04-05 19:30:54 +00:00
Keerti Parthasarathy 0e7bec7d2f Add validation for AndroidManifest.xml files
Change-Id: Ieab8027eb81257d76cdda34b423bb554f968f021
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98040
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-05 19:30:34 +00:00
Mike Fairhurst d4c61411f3 Update bug number to reflect deprioritized bug
Change-Id: I0664dd951ab4374856b3db83b7311a63176fa356
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98721
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-04-05 19:01:54 +00:00
Sam Rawlins 1ad11facec Fix mustCallSuper for mixins and inherited interfaces:
* If a method overrides a mixed in @mustCallSuper method, it should call super.
* If a method overrides a method from a supertype, which itself overrides a
  method from an interface, the first method should call super.

Fixes internal b/70374204.

Change-Id: I645de4a288a8c5ffff173e97692f8eb6fe38bdb5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98443
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-05 16:14:24 +00:00
Konstantin Shcheglov ddbeda075f Rework storing constructors and enum constants.
I was adding default constructor to classes and found another problem
with shadowing exported declarations with local ones - we shadow
the class, but not its constructor. So, I'm changing it to keep
constructors and enum constants in corresponding parent declaratiosn.

R=brianwilkerson@google.com

Change-Id: I4e49b57f9fe1ac8bf611f241d2c279c746ad55ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98701
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-04 19:40:54 +00:00