Commit Graph

4276 Commits

Author SHA1 Message Date
Brian Wilkerson cc787d4803 Recover from getters that have parameter lists
Change-Id: I07665f297f067537a45e304d1f1138b6532e8c21
Reviewed-on: https://dart-review.googlesource.com/7559
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-23 00:13:58 +00:00
Brian Wilkerson 29dd1d6ab3 Recover from finding a colon in a for-in loop
Change-Id: Idc10149af816d50046289ac29b3d6480a4caa51d
Reviewed-on: https://dart-review.googlesource.com/7761
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-09-22 19:36:28 +00:00
Konstantin Shcheglov a8d9b8ec5f Use PathContext to convert URIs to file paths.
This takes care of the issue Couldn't find 'bool' in 'file:///C:/sdk/lib/core/core.dart' on Windows.

R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/30862
Change-Id: I664ec92e1aced5de1b724384bd86dc058eebbd56
Reviewed-on: https://dart-review.googlesource.com/7840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-22 19:34:06 +00:00
danrubel 603158e917 report more analyzer error messages
Change-Id: I8b196ff7fca0e9fb1a5f0dfe6a3477887efa0f76
Reviewed-on: https://dart-review.googlesource.com/7640
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-22 17:01:37 +00:00
Dan Rubel 2140b878a7 cleanup parser event param
This removes the rightParen from parser events
and uses leftParen?.endGroup when needed

Change-Id: Ibc919edff4fffddc35d100453ac652eb5c5ac6e5
Reviewed-on: https://dart-review.googlesource.com/7560
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-09-22 15:50:37 +00:00
Dan Rubel 8fedf42184 fix out of order directive error codes
Change-Id: I903d3e5e59b9d836c7dbe23c5610286437731cb2
Reviewed-on: https://dart-review.googlesource.com/7500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-09-22 13:06:15 +00:00
Konstantin Shcheglov d553a55af5 Understand _ConstantExpressionError and don't resynthesize corresponding constant expressions.
I think it should not matter whether we resynthesize unresolved AST
or no AST at all in element model. If constant evaluator knows that
no AST means an error.

With summaries we store unresolved AST and detect that something
cannot be resolved during resynthesis. Hm... Maybe we should stop
in this case and return null, as we do now for Kernel.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ie1b5dc3b8910e89087f579145337b900a9e481c7
Reviewed-on: https://dart-review.googlesource.com/7637
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-21 21:41:15 +00:00
Dan Rubel 76ad63dadb fix error dangling annotation
Change-Id: Iad0870c7d4a4864654af22f8fc7d69b0be961d4e
Reviewed-on: https://dart-review.googlesource.com/7420
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-21 17:28:07 +00:00
Brian Wilkerson 6edb5d8df7 Add recovery for field formal parameters
Change-Id: I09a1c6627a8fc1d67ffad4010212f2e9511612fe
Reviewed-on: https://dart-review.googlesource.com/7108
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-21 13:47:52 +00:00
Peter von der Ahé d77e82ea67 Revert "Remove unused import (TBR)"
This reverts commit 0c005a39d2.
Bug:
Change-Id: I7f498cedbe0b2843219341670d9b580f12c37a93
Reviewed-on: https://dart-review.googlesource.com/7551
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-09-21 13:09:35 +00:00
Peter von der Ahé 9baee97ea2 Revert "Add NamedNode.nameOffset, fill it for constructors, and use in Analyzer."
This reverts commit 9a8621b60a.

Revert "Rework getElement() in resynthesizer."

This reverts commit e4fa080f69.

Revert "Create (empty) initializers for parameters resynthesized from Kernel."

This reverts commit 8df6c79b9d.

Revert "Run NonErrorResolverTest in strong mode. Extract not strong tests."

This reverts commit 9bdda4b1d3.

Revert "Move TypeProvider creation into KernelResynthesizer and create loadLibrary functions."

This reverts commit c59eaf1788.

Revert "Return SimpleIdentifier or PrefixedIdentifier from _buildIdentifier()."

This reverts commit 6d0515f9ca.

Change-Id: I1099ca715ce6287ab56808b7cc3abe0589e939c1
Reviewed-on: https://dart-review.googlesource.com/7550
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-09-21 12:19:47 +00:00
Brian Wilkerson 0c005a39d2 Remove unused import (TBR)
Change-Id: I1f22fb743d2148a485d304920f5a5e2c921cd904
Reviewed-on: https://dart-review.googlesource.com/7460
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-20 21:46:55 +00:00
Konstantin Shcheglov 6d0515f9ca Return SimpleIdentifier or PrefixedIdentifier from _buildIdentifier().
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ifaecb13e6869166deb10c6211cf075761c185100
Reviewed-on: https://dart-review.googlesource.com/7449
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-20 21:31:20 +00:00
Konstantin Shcheglov c59eaf1788 Move TypeProvider creation into KernelResynthesizer and create loadLibrary functions.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Idabf9baa72de55d9a501a9b91317aad004dcf5dc
Reviewed-on: https://dart-review.googlesource.com/7447
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-20 20:48:50 +00:00
Konstantin Shcheglov 9bdda4b1d3 Run NonErrorResolverTest in strong mode. Extract not strong tests.
Plus a tiny fix for not considering a class with a static method
named "call" a Function.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I46c470c9d5dfb9f3cda9d5c5ac432962975f6773
Reviewed-on: https://dart-review.googlesource.com/7444
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-20 20:46:11 +00:00
Konstantin Shcheglov 8df6c79b9d Create (empty) initializers for parameters resynthesized from Kernel.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ifeddbd315b5c8d541c0db9a577d4cbddcfbdeba0
Reviewed-on: https://dart-review.googlesource.com/7380
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-20 18:04:00 +00:00
Konstantin Shcheglov e4fa080f69 Rework getElement() in resynthesizer.
So that it is not recursive anymore.

This also fixes a bug with private classes.
There is no library URI qualifier for classes, even if they are private.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ibeb8bd18fed9b116a40b2f2ff357f97283bc7b0d
Reviewed-on: https://dart-review.googlesource.com/7382
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-20 17:59:57 +00:00
Konstantin Shcheglov 9a8621b60a Add NamedNode.nameOffset, fill it for constructors, and use in Analyzer.
R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: If0f815e86049381e9db3386f243789e9b4f9f5ce
Reviewed-on: https://dart-review.googlesource.com/6780
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-20 17:54:30 +00:00
Brian Wilkerson d95009d14a Remove unused import to fix the bots (TBR)
Change-Id: Ia1bc12ac6ccd02a03a3d8f2a6ac95394ef7a13f3
Reviewed-on: https://dart-review.googlesource.com/7001
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-19 16:23:15 +00:00
Brian Wilkerson bd33fb43bd Pass the left brace in an enum declaration to the listeners (rather than the right brace)
Change-Id: I3bec6cbde6beb1233c48e7ed8926f0e98fd8e3a5
Reviewed-on: https://dart-review.googlesource.com/6741
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-09-19 15:35:33 +00:00
Konstantin Shcheglov 08c4cc6e61 Create (empty) initializers for variables resynthesized from Kernel.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I42df66c747b79639227f0c55f4ed67c959b15eb9
Reviewed-on: https://dart-review.googlesource.com/6769
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-19 01:48:04 +00:00
Brian Wilkerson 98910a0887 Remove unnecessary use of utility function
Change-Id: I5db826177001cc3b9b2e0eff977e5692754b3258
Reviewed-on: https://dart-review.googlesource.com/6661
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 22:45:08 +00:00
Konstantin Shcheglov c22ec3702f Use forKernel constructor in super invocations.
R=brianwilkerson@google.com

Bug:
Change-Id: Id13ade26e1d6d2214f39d8ca51f85dabd6fa0f31
Reviewed-on: https://dart-review.googlesource.com/6760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 20:38:42 +00:00
Konstantin Shcheglov f2ff362c71 Fix for resynthesizing FutureOr in not strong mode.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I239bb013cb04c6e1ab07d644e3cca16119885321
Reviewed-on: https://dart-review.googlesource.com/6743
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-18 20:26:38 +00:00
Konstantin Shcheglov feb02ba034 Resynthesize types of function typed formal parameters.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I1afb45879afc67806dfb3d6fe18b172fd2b3c01a
Reviewed-on: https://dart-review.googlesource.com/6645
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-18 19:36:30 +00:00
Konstantin Shcheglov 6d0452ff74 Resynthsize field in FieldFormalParameterElementImpl.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ied85d9f774dcace3af995be8bf9b1d179cc7eee4
Reviewed-on: https://dart-review.googlesource.com/6700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 18:15:36 +00:00
Konstantin Shcheglov 6148189e44 Fix for implicit setter enclosing element.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ic75ea6bb2b396d4cfddc133f2e8f636fdfed9376
Reviewed-on: https://dart-review.googlesource.com/6642
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 17:55:58 +00:00
Konstantin Shcheglov 3b1d5b8432 Fix for resynthesizing ExecutableElement.type from Kernel.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I29542408fc4e7d5e7f43222f0fd5f19adaeb645a
Reviewed-on: https://dart-review.googlesource.com/6680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 17:52:21 +00:00
Konstantin Shcheglov d6fff5126d Fix for storing and resynthesizing import/export directive offsets.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Icc187e2b68a765b65455c05a2d25a816123a9e92
Reviewed-on: https://dart-review.googlesource.com/6641
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 17:46:13 +00:00
Konstantin Shcheglov f43c54ff22 Issue 30785. Fix for file URI on Windows in KernelContext.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/30785
Change-Id: Iacf9cda1f26a696a745802d14183d9f06e485324
Reviewed-on: https://dart-review.googlesource.com/6640
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-18 16:59:06 +00:00
Brian Wilkerson 0995bbd6ef Pass the left paren in to listeners
Change-Id: I7de73b11c001f56fd45f60f58623c905b5a29f31
Reviewed-on: https://dart-review.googlesource.com/5325
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-18 16:34:26 +00:00
Konstantin Shcheglov 50c964b819 Add option for AnalysisDriver to use KernelDriver and KernelResynthesizer.
Run NonErrorResolverTest_Driver tests with this option enabled.
We fail 163 out of 478 tests, or 35%.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Iac6154a14a1357fe239b0140f9f66de792825693
Reviewed-on: https://dart-review.googlesource.com/6340
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 02:09:14 +00:00
Konstantin Shcheglov c4f6605d55 Resynthesize annotations for class type aliases and enums.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I593d6ada7176fc2c24f3e1d5d22f3acd92975594
Reviewed-on: https://dart-review.googlesource.com/5943
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-16 00:28:30 +00:00
Konstantin Shcheglov 4568034722 Don't call logEvent() in AstBuilder - it spams to the console.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I3f106f4364d1f0cb8735f25f4f50f165f3185adb
Reviewed-on: https://dart-review.googlesource.com/6240
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-15 21:50:10 +00:00
Konstantin Shcheglov 406e815325 Reuse AnalysisContext and resynthesizer from LibraryContext in LibraryAnalyzer.
So that we can pass in other implementations of ElementResynthesizer,
e.g. to resynthesize from Kernel.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ice5d7ac6e3d49147c1a07098863e334c6c711312
Reviewed-on: https://dart-review.googlesource.com/6221
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-15 19:21:48 +00:00
Konstantin Shcheglov 37834e711f Remove extra nullable access in documentationComment.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ib8a7cf220959c03913a64763e944bdd328575ee6
Reviewed-on: https://dart-review.googlesource.com/6222
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-15 19:18:45 +00:00
Brian Wilkerson b30fab9320 Pass the of keyword in part-of directives to listeners
Change-Id: I0774f6ee806aff52981bc2f049ef402f4f52c102
Reviewed-on: https://dart-review.googlesource.com/5340
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-15 15:54:43 +00:00
Dan Rubel db7129d8a4 cleanup endMetadataStar event
Change-Id: I9fcd69219858cdb063d3e37f2788750f72132d65
Reviewed-on: https://dart-review.googlesource.com/6140
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-09-15 12:37:37 +00:00
Konstantin Shcheglov 0a76d327e3 Resynthesize LibraryElement documentation from Kernel.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I24fe6be8c27b0182eb859073cd9cba498065d23b
Reviewed-on: https://dart-review.googlesource.com/6081
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-09-15 03:47:57 +00:00
Konstantin Shcheglov 9665f39e51 Resynthesize InvalidType as dynamic. Triage some tests.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I011e76f6243a1ff51884d2beb1a4f1d3f0e2251d
Reviewed-on: https://dart-review.googlesource.com/5891
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-14 21:11:03 +00:00
Brian Wilkerson ecc9487a45 Clean up discovery of the parentheses in if statements
Change-Id: Iff1ae85a92bc1242448c0d9e2f3a4b5e865dc106
Reviewed-on: https://dart-review.googlesource.com/5324
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-14 20:54:02 +00:00
Konstantin Shcheglov 8ea25ec10c Resynthesize deferred imports from Kernel.
R=brianwilkerson@google.com

Bug:
Change-Id: I6eca89aced40ccfca273152860dad2c5fdd3ddb5
Reviewed-on: https://dart-review.googlesource.com/5886
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-14 19:25:21 +00:00
Dan Rubel d69a0aa3d5 revise parser to use handleNativeClause
modify the fasta parser to use handleNativeClause
when parsing methods with a native clause.

Change-Id: Ia631c471f9f8ea7a9e261d112a8ccd96f9eafa46
Reviewed-on: https://dart-review.googlesource.com/3786
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-14 13:25:48 +00:00
Brian Wilkerson bb915a394c Pass the comma in a catch clause to listeners
Change-Id: I33173614c22a9132f850750a441f443b539ed666
Reviewed-on: https://dart-review.googlesource.com/4980
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-09-12 18:46:20 +00:00
Brian Wilkerson 8f6f4d9d24 Pass the parens in conditional uris to listeners
Change-Id: I1cf41c32ae60ba1c0e8389a583d9188ad4f9ba89
Reviewed-on: https://dart-review.googlesource.com/5003
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-09-12 16:49:38 +00:00
Konstantin Shcheglov 73c93a3a13 Revert "Report compile time errors when assert initializers fail."
This reverts commit 556b0284b3.

Until the specification wording about constants evaluation is clarified.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: If5ff6dfbc5f8f724f657694a5e331b9fd07227fc
Reviewed-on: https://dart-review.googlesource.com/5280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-12 16:05:17 +00:00
Konstantin Shcheglov 074ea67555 CircularFunctionTypeImpl does not have element.
The previous implementation attempted to cast DynamicElementImpl
to FunctionElement.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I6cb7d11419ea463313d4a86c3a0412998168ec85
Reviewed-on: https://dart-review.googlesource.com/5060
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-09-11 22:52:21 +00:00
Konstantin Shcheglov f7eba2359b Create new style GenericFunctionTypeElementImpl for function typed parameters.
ParameterElement.parameters/typeParameters always return empty lists.

This was initially landed as https://dart-review.googlesource.com/c/sdk/+/3401,
but was rolled back because of dartdoc breakage.

R=brianwilkerson@google.com

Bug:
Change-Id: I328355fa4520536dfd0029966ad9f9af2e63a7d2
Reviewed-on: https://dart-review.googlesource.com/5000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-09-11 19:15:11 +00:00
Brian Wilkerson d76f041ace Fix an npe resulting from generic function types
Change-Id: I6bd4b7f479f85f6114019b1ca4aefff847a39a68
Reviewed-on: https://dart-review.googlesource.com/4600
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-08 21:37:20 +00:00
Paul Berry 16d505327b Rename handleBinary{Operator,Expression} to {begin,end}BinaryExpression.
This makes the names more consistent with the other parser listener
methods.

Change-Id: Ic9f636a520bcc40e0ed281963ff079d4ce0202db
Reviewed-on: https://dart-review.googlesource.com/4120
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-08 18:03:51 +00:00