Commit Graph

1658 Commits

Author SHA1 Message Date
Konstantin Shcheglov 031cfcf993 Fix for combining outlines when we first see the external version of a library (so, without exports).
Bug:
Change-Id: I4aeef7f2ae85ce4e5ac8b997aa43d120304aee6b
Reviewed-on: https://dart-review.googlesource.com/19061
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-07 19:30:10 +00:00
Konstantin Shcheglov f9c1b896f4 Add test that shows that we don't include additional exports for external libraries into shaken outlines.
As promised in https://dart-review.googlesource.com/c/sdk/+/18960

Bug:
Change-Id: I33970364e04a28a174aa036456ccdc1ce3fa965b
Reviewed-on: https://dart-review.googlesource.com/19060
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-07 19:23:31 +00:00
Paul Berry bf81915170 Get rid of TypeInferenceEngine.isTopLevelInferenceComplete.
TypeInferrer.isTopLevel carries the same information.

Change-Id: I8a572bb24bc0c0410ab8210629a4e6478a26efd4
Reviewed-on: https://dart-review.googlesource.com/19062
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-07 18:55:00 +00:00
Brian Wilkerson a18207d61d Rework parseTopLevelDeclaration so that the last consumed can be passed into several additional methods
Change-Id: I7bca690eaa4d6ba9b743544d81ad5bd68986c4b2
Reviewed-on: https://dart-review.googlesource.com/19021
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-07 18:21:10 +00:00
Dan Rubel cf3ced607e Update scanner to gracefully degrade given invalid UTF-8
Fix https://github.com/dart-lang/sdk/issues/31193

Change-Id: I8ede0268ebff9c7e3dab003eff93a263a5d0b6ef
Reviewed-on: https://dart-review.googlesource.com/18740
Reviewed-by: Florian Loitsch <floitsch@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-07 18:19:29 +00:00
Brian Wilkerson 723f8bca05 Convert parseMetadataStar and partially convert parseMetadata
Change-Id: I546206f1b7de042827a519f4ac9c721b98a3038e
Reviewed-on: https://dart-review.googlesource.com/19020
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-07 16:14:50 +00:00
Dan Rubel c18275f6c2 Fix type argument comment parsing
Change-Id: Ia8ca73131471af1c36f13d50a6b30fe63e607bb2
Reviewed-on: https://dart-review.googlesource.com/18980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-07 14:32:29 +00:00
Brian Wilkerson 276ce36c3c Convert most of the variable declaration parsing
Change-Id: I0f967af1d006cbc0ecec54846a8600b912f81a7d
Reviewed-on: https://dart-review.googlesource.com/18961
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-07 14:20:40 +00:00
Konstantin Shcheglov 11543a9540 Update Library.additionalExports during combining.
Bug:
Change-Id: Ia99a9f64834acb62ee6ffb95836b957b85f90731
Reviewed-on: https://dart-review.googlesource.com/18960
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-07 04:08:29 +00:00
Dan Rubel 599bbd4269 Cleanup AnalyzerDietListener buildFields
Change-Id: Ifb29a2ca1fa2ee6eb0adffbcd2896ffeea7083ba
Reviewed-on: https://dart-review.googlesource.com/18901
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-07 02:42:59 +00:00
Konstantin Shcheglov 9755cf6de8 Include public static members of classes in included libraries.
Bug:
Change-Id: I03dc21402b5298621086891f82d93fb37f1c0ed4
Reviewed-on: https://dart-review.googlesource.com/18903
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-07 01:45:29 +00:00
Brian Wilkerson 758a671fee Convert for statements
Change-Id: I9ccf1adbca7c3a78578e57446c1cd21249e10c00
Reviewed-on: https://dart-review.googlesource.com/18863
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-06 23:07:32 +00:00
Konstantin Shcheglov 00d9c180c3 Fix for combining private members.
Bug:
Change-Id: If623420777c13a2d6e56dfcc33be4f2d4ae69f34
Reviewed-on: https://dart-review.googlesource.com/18686
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-06 18:25:44 +00:00
Brian Wilkerson 167b529da7 Convert most of the statement parsing methods
Change-Id: I1c7fa1abda6cd3d45ec83d32c864b4e23700b837
Reviewed-on: https://dart-review.googlesource.com/18861
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-06 17:33:35 +00:00
Samir Jindel bc9645509e Revert "Revert "[kernel] Fix NoSuchMethod errors for generic functions.""
This un-revert fixes the issues revealed in https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.dart%2Fvm-kernel-mac-release-x64-be%2F2217%2F%2B%2Frecipes%2Fsteps%2Fvm_tests%2F0%2Fstdout.

Patchset 1 contains the original revision unmodified.

This reverts commit 9029ee09c5.

Bug:
Change-Id: I109c011c2688144b00293ce50b3aad53e018a2f2
Reviewed-on: https://dart-review.googlesource.com/18340
Reviewed-by: Régis Crelier <regis@google.com>
2017-11-06 17:07:38 +00:00
Dan Rubel d79c68ea01 fix external factory errors
Change-Id: Id94d0fe355a3ad78cdd66bfbcb2ccc2bb72dc28b
Reviewed-on: https://dart-review.googlesource.com/17301
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-11-06 16:21:44 +00:00
Brian Wilkerson c89b566bd1 Convert the parsing of switch statements
Change-Id: I8c3014674929b2822685756edeafb34185437551
Reviewed-on: https://dart-review.googlesource.com/18761
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-06 14:58:50 +00:00
Aske Simon Christensen 306668bf0a Support syntax error outcome in sdk test suite.
Also updated test expectations.

Change-Id: I25fe9f47904beb89b9e18cfafd2e889c6a8106a2
Reviewed-on: https://dart-review.googlesource.com/18800
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2017-11-06 12:22:51 +00:00
Paul Berry cd49cf1201 Insert implicit downcasts for compound assignments.
Change-Id: I090594e16fa890864775b2ebc58842d861c134a4
Reviewed-on: https://dart-review.googlesource.com/18517
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-03 22:07:10 +00:00
Konstantin Shcheglov 5ea30b4e3d Rename performace_logger.dart to performance_logger.dart
R=paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ib7b6d122dff3ddabde3db2270daa777a269e04ed
Reviewed-on: https://dart-review.googlesource.com/18512
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 20:24:00 +00:00
Konstantin Shcheglov 611475aaaa Separate KernelDriver.getKernel() and getKernelSequence().
The reason to have both is that IKG needs kernels for all libraries,
potentially not even deserialized from bytes, if we eventually get this
optimization.

OTOH, Analyzer always needs just one library, with enough outlines
to make sense of the dependencies. For now, getKernel() is implemented
using getKernelSequence(), this will change with switching to
outline based compilation.

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

Bug:
Change-Id: Iba02bc3a4cdb67a896c4faa2f809c7cb8069aa9e
Reviewed-on: https://dart-review.googlesource.com/18509
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 20:00:01 +00:00
Sigmund Cherem 24e4d3bb39 Define a location of the synthetic __loadLibrary_foo method
Change-Id: I8fd950cf7a6e6aed79240daed085f2a02e16666e
Reviewed-on: https://dart-review.googlesource.com/18430
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-11-03 18:59:40 +00:00
Konstantin Shcheglov cd2f4a1e44 Update references to Class and TypeParameter, updates for tests.
R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I8a922df8c21fe2ff54c60da989f87524b0cff56c
Reviewed-on: https://dart-review.googlesource.com/17340
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 18:55:11 +00:00
Paul Berry 9ac19f0122 Pass --strong to vm when running front_end testcases in strong mode.
Also, stop passing "Hello, World!" as a command line argument when
executing front_end testcases.

Change-Id: I7c3ec6a301537a84bd14e232b5a0d6b8a7bd1914
Reviewed-on: https://dart-review.googlesource.com/18503
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-03 18:28:51 +00:00
Brian Wilkerson cfa3a809f0 Rework Parser.parseFunctionBody
Change-Id: Ie19d902ad9d456d3c05ecbf04d9a0f1ebecf7d18
Reviewed-on: https://dart-review.googlesource.com/18620
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-03 17:47:01 +00:00
Konstantin Shcheglov b2b813a37a Update ProtectedFileByteStore in IKG on acceptLastDelta().
So, we don't leak result keys to IKG clients.

Bug:
Change-Id: Ib3002aad690bf98884816a3978f759acd88b12ec
Reviewed-on: https://dart-review.googlesource.com/17342
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2017-11-03 17:31:23 +00:00
Dan Rubel 15a0abf956 Fix OutlineBuilder native class and AnalyzerDietListener tests
Update the OutlineBuilder and AstBuilder to fix native handling,
and in the process, fix several AnalyzerDietListener tests.

Fix https://github.com/dart-lang/sdk/issues/30836

Change-Id: I7e3b6c4c7d241f1325a5fce1e117e277c6166e49
Reviewed-on: https://dart-review.googlesource.com/18500
Reviewed-by: Paul Berry <paulberry@google.com>
2017-11-03 17:16:51 +00:00
Brian Wilkerson a44283d34f Rewrite Parser.parseEnum
Change-Id: Iacf6fdc75020ba50584d4763ae6eded0394a7f39
Reviewed-on: https://dart-review.googlesource.com/18600
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-03 15:51:43 +00:00
Brian Wilkerson f403dfe899 Convert Parser.parseMember
Change-Id: I4ae0c7d277f19a5089d793b1c3f924a91b3c889a
Reviewed-on: https://dart-review.googlesource.com/18580
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-03 15:51:42 +00:00
Brian Wilkerson 5a00e53abb Convert several more parser methods
Change-Id: I34ff24d2dec93475ddfb10f1032945d09ddc4f9d
Reviewed-on: https://dart-review.googlesource.com/18462
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-03 13:25:44 +00:00
Brian Wilkerson 3cafc5db3f Convert several parser methods
Change-Id: I1d5ae303dfb2b4e23b5b9274ccc181de2a48cc71
Reviewed-on: https://dart-review.googlesource.com/18460
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-03 13:19:41 +00:00
Peter von der Ahé 8bc6f7761f Add strong version of compile_platform_test.
Change-Id: I18795293ca353a265b76f472ba2b567ab2b1ebbf
Reviewed-on: https://dart-review.googlesource.com/18540
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2017-11-03 13:17:39 +00:00
Aske Simon Christensen e3c11c2703 Retain erroneous import, export and part (of) directives
If the URI of a directive is invalid, use a special URI with a
scheme marking it as malformed. In the loader, treat a file with
an invalid URI as empty.

Order all dependencies (imports and exports) by source position to
allow the DietListener to match them up properly with metadata.

For the same reason, add imports and exports within parts to
dependencies even though they are not permitted here.

Closes https://github.com/dart-lang/sdk/issues/30997
Closes https://github.com/dart-lang/sdk/issues/31004

Change-Id: Ic7efd0da058c246531c165508b7474475b4bdad2
Reviewed-on: https://dart-review.googlesource.com/17901
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 12:55:19 +00:00
Peter von der Ahé b4dcb76518 Read patch files directly when building legacy platform files.
Change-Id: Ib2e614b676021660c6a053dfc59f639c004279b9
Reviewed-on: https://dart-review.googlesource.com/18520
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2017-11-03 12:43:50 +00:00
Peter von der Ahé aaa76d7e45 Read patch files directly from Fasta.
Change-Id: I91ff7979d1976db97069ae5463f275f28bac3905
Bug:
Reviewed-on: https://dart-review.googlesource.com/8640
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2017-11-03 11:11:49 +00:00
Brian Wilkerson 381ceca587 Local changes to prepare for more conversions
Change-Id: I1d65460bc556ab51b9061659927a8eac7288dd99
Reviewed-on: https://dart-review.googlesource.com/18440
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 23:39:40 +00:00
Brian Wilkerson 8567741525 Address review comments
Change-Id: If7d22e6c769e1d94e1362b9f45e6a7dccaded657
Reviewed-on: https://dart-review.googlesource.com/18300
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 18:11:48 +00:00
Samir Jindel 9029ee09c5 Revert "[kernel] Fix NoSuchMethod errors for generic functions."
This reverts commit 52e1466588.

Bug:
Change-Id: Ic1b37a5df2f50ede4f6873b6d2a701663673bcbb
Reviewed-on: https://dart-review.googlesource.com/18261
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-02 16:52:32 +00:00
Brian Wilkerson 62ee6d42f1 More parser conversion
Change-Id: Idfd6afe6cce71ff852b746e52aa5810692c43dbd
Reviewed-on: https://dart-review.googlesource.com/18240
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 16:33:39 +00:00
Dan Rubel e781b33c83 move Analyzer test classes out of lib
This moves several classes used only for testing purposes
out of the analyzer/lib directory tree and
into front_end/test/fasta/testing where they are used.

Change-Id: I294b20710de4b16e27fbea5d13be316a6ecda112
Reviewed-on: https://dart-review.googlesource.com/18200
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-02 16:02:58 +00:00
Paul Berry 00b292511d Avoid a crash when an invalid assignment is detected during top level inference.
Change-Id: I382a4fdcd25bca529ca424ccdb7fd313d6a95066
Reviewed-on: https://dart-review.googlesource.com/18143
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-02 15:22:55 +00:00
Samir Jindel 52e1466588 [kernel] Fix NoSuchMethod errors for generic functions.
Bug:
Change-Id: I8ad90e34a7b1f77b29f1d711f158bcb69f5928f4
Reviewed-on: https://dart-review.googlesource.com/17941
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2017-11-02 15:16:08 +00:00
Brian Wilkerson 27fd7cad98 Clean-up parseUnit
Change-Id: Icbcef86609c5b84a129b6c68a1311cb4447c90a9
Reviewed-on: https://dart-review.googlesource.com/18100
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 13:33:08 +00:00
Brian Wilkerson 38a170cca9 Make parseTypeVariable accept the last committed
Change-Id: I64e29df367fca45709beb450b5aff1f9073f0b78
Reviewed-on: https://dart-review.googlesource.com/18080
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 13:19:20 +00:00
Paul Berry c4e00daf70 Create a front_end test case for invalid assignment errors.
Change-Id: I5c23f7eb6d07b551397ca2301ed5485910083b8d
Reviewed-on: https://dart-review.googlesource.com/18140
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-01 22:09:27 +00:00
Brian Wilkerson 6661da9b86 Make parseMapLiteralEntry accept the last consumed
Change-Id: I0d4c393ece13bbe8f1edad032053df90bd4fcf5d
Reviewed-on: https://dart-review.googlesource.com/18040
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 21:12:23 +00:00
Brian Wilkerson 0d94dfaf5c Make parseLiteralStringOrRecoverExpression accept the last consumed
Change-Id: Ia8b8ad0d9e8a86c7a782185ef00dd667bc2e457a
Reviewed-on: https://dart-review.googlesource.com/18002
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 21:07:18 +00:00
Brian Wilkerson 1e6490dbef Return last committed from parseTopLevelMember, parseTopLevelKeywordDeclaration, and parseTopLevelDeclarationImpl
Change-Id: If9fe159f4926c250cf06937cea9f1f4a78e21269
Reviewed-on: https://dart-review.googlesource.com/18003
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 20:31:36 +00:00
Konstantin Shcheglov 9d0d1fb6d2 Replace #30035 with #28434 in status files.
Kernel now supports these annotations, we need to start producing them.

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

Bug:
Change-Id: I1b2732ddad2674688d562f3be3ca29140a5e9381
Reviewed-on: https://dart-review.googlesource.com/17863
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-01 20:30:04 +00:00
Brian Wilkerson 895f771726 Make parseTopLevelMethod return the last consumed
Change-Id: I65b9a2a6842ed1ec8ce986cb83fa108ce38be6ba
Reviewed-on: https://dart-review.googlesource.com/18001
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 19:02:47 +00:00