Commit Graph

4770 Commits

Author SHA1 Message Date
Peter von der Ahé 0afdf6b44a Report error on only-try block.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2765253002 .
2017-03-23 13:02:41 +01:00
Peter von der Ahé f12acc02a3 Move throwNoSuchMethodError to BodyBuilder.
R=karlklose@google.com, paulberry@google.com

Review-Url: https://codereview.chromium.org/2764303002 .
2017-03-23 12:49:42 +01:00
Peter von der Ahé 0087af4e3c Report compile-time errors on cyclic hierarchies.
R=karlklose@google.com, paulberry@google.com

Review-Url: https://codereview.chromium.org/2767633004 .
2017-03-23 12:41:04 +01:00
Peter von der Ahé bfb82582f5 Only display 'nits' in verbose mode.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2770683005 .
2017-03-23 12:34:32 +01:00
Peter von der Ahé 7e8639eebf Setup type and modifiers of local variables on creation.
R=karlklose@google.com, paulberry@google.com

Review-Url: https://codereview.chromium.org/2769113004 .
2017-03-23 12:19:36 +01:00
Karl Klose 4d3719f54e Change code to determine ANSI support on Windows
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2765223002 .
2017-03-22 13:20:46 +01:00
Peter von der Ahé 2562ed28cb Generate methods for reporting problems.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2754383002 .
2017-03-22 12:30:51 +01:00
Peter von der Ahé 17621ed6ff Tweak message.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2754343002 .
2017-03-22 12:22:11 +01:00
Peter von der Ahé 3de706a0ec Update parser documentation.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2756953002 .
2017-03-22 12:17:41 +01:00
Peter von der Ahé 84f1547975 Add constantExpressionRequired to BodyBuilder.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2769613002 .
2017-03-22 12:14:24 +01:00
Peter von der Ahé 819b226598 Add begin events for const and new expressions.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2767543003 .
2017-03-22 12:06:23 +01:00
Peter von der Ahé e37d55d111 Switch to IdentifierContext.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2762283002 .
2017-03-22 11:50:07 +01:00
Peter von der Ahé 6f422b93fc Improve handling of complicated getters and setters.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2765943002 .
2017-03-22 10:49:03 +01:00
Peter von der Ahé d50bfcde53 Implement dynamic and void as types exported by core library.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2761173004 .
2017-03-22 10:25:08 +01:00
Peter von der Ahé c9d9b4d295 Implement fullNameForErrors on all Builders.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2767653002 .
2017-03-22 09:52:52 +01:00
Peter von der Ahé 983a47293c Fix IdentifierContext for primary expressions. Also pass IdentifierContext to handleThisExpression and handleSuperExpression.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2768523002 .
2017-03-22 09:39:29 +01:00
Devon Carew a231501692 Format generated files.
BUG=
R=brianwilkerson@google.com, jacobr@google.com

Review-Url: https://codereview.chromium.org/2765953002 .
2017-03-21 15:54:16 -07:00
Dan Rubel 99336edc79 fasta.BeginGroupToken implement analyzer.BeginToken
* fasta.BeginGroupToken implement analyzer.BeginToken
* update token translator initialization of head and tail EOF
* update fasta.Token value() and type accessor to match analyzer

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2762103003 .
2017-03-21 11:46:45 -04:00
Dan Rubel 80c8479587 fasta.CommentToken implement analyzer.CommentToken
* update the fasta scanner to generate comment and dartdoc tokens

* replace fasta.preceedingComments field
  with preceedingCommentTokens field and preceedingComments getter/setter

* update token translator

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2763833002 .
2017-03-21 11:40:47 -04:00
Jens Johansen a6ea038643 [kernel] offsets on direct property get/set
BUG=
R=ahe@google.com, kmillikin@google.com

Committed: https://github.com/dart-lang/sdk/commit/7577f6aaa052c9a1c309f13bf338b92bf4fb9fd0
Review-Url: https://codereview.chromium.org/2748333002 .
2017-03-21 14:43:45 +01:00
Jens Johansen a1a34a1c84 [kernel] Debugging of switch statement
BUG=
R=ahe@google.com, kmillikin@google.com

Review-Url: https://codereview.chromium.org/2750013002 .
2017-03-21 11:36:48 +01:00
Jens Johansen 4d208e2ffb [fasta] Add and correct even more offsets
E.g. kernel debugging of async functions should now work.

BUG=
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2746013003 .
2017-03-21 10:57:30 +01:00
danrubel 08402f5789 update fasta scanner to generate two types of comments
* replace fasta.COMMENT_INFO
  with fasta.SINGLE_LINE_COMMENT_INFO and fasta.MULTI_LINE_COMMENT_INFO
  so that it matches analyzer scanner output

* added test for fasta.isUserDefinableOperator

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

Review-Url: https://codereview.chromium.org/2757153002 .
2017-03-20 15:12:28 -04:00
danrubel e93ad0d4fc fasta.Token implement analyzer.Token
* fasta.Token implements analyzer.Token
* cleanup and improve PrecedenceInfo tests

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

Review-Url: https://codereview.chromium.org/2757113002 .
2017-03-20 14:06:06 -04:00
danrubel 8bef633d3f fasta.PrecedenceInfo implement analyzer.TokenType
This updates PrecedenceInfo to implement TokenType
so that fasta.Token.type can return info for the token type.

In addition, the TokenType consts are now reference the corresponding
PrecedenceInfo consts so that parsing using either scanner will result
in token types that are identical.

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

Review-Url: https://codereview.chromium.org/2758113002 .
2017-03-20 13:40:59 -04:00
danrubel d7c4cad542 align fasta.PrecedenceInfo.precedence with analyzer.TokenType.precedence
This updates fasta precedence to match analyzer:

* '!'   0  --> 15
* '~'   0  --> 15

* '--'  15 --> 16
* '++'  15 --> 16
* '.'   15 --> 16
* '?.'  15 --> 16
* '('   15 --> 16
* '['   15 --> 16

And updates analyzer precedence to match fasta:

* '--'  15 --> 16
* '++'  15 --> 16

* '[]'  16 --> 0
* '[]=' 16 --> 0

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

Review-Url: https://codereview.chromium.org/2755433004 .
2017-03-20 12:47:33 -04:00
Jens Johansen ee7fe44941 [fasta] Flip source flag and include source by default
BUG=
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2751093004 .
2017-03-20 08:21:15 +01:00
Paul Berry bad0577857 Suppress undefined_getter error when analyzing colors.dart with an older SDK.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2757983002 .
2017-03-17 13:46:44 -07:00
Dmitry Olshansky 2eec4275a5 Reland: [Fasta] Do not emit default arguments at callsite
This actually fixes a few performance regressions.

BUG= https://github.com/dart-lang/sdk/issues/29089
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2750503015 .
2017-03-17 18:58:47 +01:00
Peter von der Ahé 8979b040ec Improve parsing of async and generator methods.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2759663002 .
2017-03-17 18:03:42 +01:00
Peter von der Ahé d1a12f9852 Use identical or optional for keywords.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2759643002 .
2017-03-17 14:56:01 +01:00
Peter von der Ahé 323d5b0b7f Track async state in parser.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2759623003 .
2017-03-17 14:43:07 +01:00
Peter von der Ahé 1a47ef1a77 Implement override checks for methods.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2755983002 .
2017-03-17 14:31:08 +01:00
Paul Berry 685045d619 Start unraveling circularities between analyzer and front_end/kernel.
This CL moves many of the files from
pkg/front_end/lib/src/fasta/analyzer/ to pkg/analyzer/lib/src/fasta/.
It also moves two files from pkg/kernel/lib/analyzer/ to
pkg/analyzer/lib/src/kernel/.

This reduces the amount of circularity between analyzer and
front_end/kernel so that there are no files in front_end or kernel
which are both dependend upon by analyzer and depend upon analyzer.  I
will clean up the remaining circularities in future CLs.

There should be no functional change.

R=ahe@google.com, asgerf@google.com, kmillikin@google.com, scheglov@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2756593004 .
2017-03-17 05:56:06 -07:00
Konstantin Shcheglov fcfe68f057 Allow AstBuilder to report parse errors.
R=ahe@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2752093002 .
2017-03-16 13:52:16 -07:00
Paul Berry 0a1b7dffd3 Change Fasta testing docs to use 32-bit when possible.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2745053006 .
2017-03-16 11:20:25 -07:00
Dmitry Olshansky bcd106e64b Revert "[Fasta] Do not emit default arguments at callsite"
This reverts commit 451882daf7.

TBR=ahe@google.com

Review-Url: https://codereview.chromium.org/2755953002 .
2017-03-16 17:44:59 +01:00
Dmitry Olshansky 451882daf7 [Fasta] Do not emit default arguments at callsite
Fixes a couple of performance regressions (RegExp, ParticleSystem).

BUG= https://github.com/dart-lang/sdk/issues/29089
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2752943003 .
2017-03-16 16:19:33 +01:00
Peter von der Ahé 21c7e6dd6b Work around Platform.ansiSupported missing from checked-in dart binary.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2757593003 .
2017-03-16 14:14:06 +01:00
Dmitry Olshansky 12bbefdbed VM: [KERNEL] handle single-argument string interpolation in VM
Also ignore zero-width string pieces when creating
StringConcatenation objects.

Mostly fixes the regressions on CssLib.prettyPrint.

R=ahe@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2753523002 .
2017-03-16 13:33:28 +01:00
Peter von der Ahé b018d8cfae Support terminal colors on Windows 10.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2753033002 .
2017-03-16 11:31:13 +01:00
Peter von der Ahé c3330b1407 Complain about built-in identifiers.
R=johnniwinther@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2750863002 .
2017-03-16 11:01:27 +01:00
Peter von der Ahé 87d932147d Fix a few hints.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2754793002 .
2017-03-16 10:48:13 +01:00
Paul Berry ef79634132 Re-land "Add support for metadata on type variables to Fasta parser." (with fixes).
Last time I landed this I left a crucial `pop()` out of BodyBuilder,
resulting in test failures.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2750503012 .
2017-03-15 12:42:23 -07:00
Konstantin Shcheglov ae85bcf954 Parse for-loop statements with Fasta.
R=ahe@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2746333005 .
2017-03-15 11:40:32 -07:00
Konstantin Shcheglov 39dbb75c76 Parse constructor field initializers with Fasta.
R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2751913002 .
2017-03-15 11:32:53 -07:00
Peter von der Ahé a228e0b2d7 Move deps file generation to fasta.
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2742333006 .
2017-03-15 15:42:22 +01:00
Peter von der Ahé 06a6ba14a3 Swap two methods.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2748093005 .
2017-03-15 15:28:11 +01:00
Peter von der Ahé 11018241fe Add here-be-dragons comments.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2749253003 .
2017-03-15 15:19:05 +01:00
Peter von der Ahé 99fa028982 Handle 'part of' declarations with URI correctly in Fasta.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2747173002 .
2017-03-15 15:11:36 +01:00