Commit Graph

6018 Commits

Author SHA1 Message Date
Paul Berry 7f9bb74ef1 Update TODO comments to refer to #28851.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2706293004 .
2017-02-21 13:43:53 -08:00
Paul Berry d2309f3024 Add AstBuilder support for DottedName and ConditionalUri.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2709623004 .
2017-02-21 13:43:08 -08:00
Konstantin Shcheglov 3fda231b1a Pass '=' to endNamedMixinApplication().
R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2710803002 .
2017-02-21 13:37:01 -08:00
Paul Berry 009d502f46 Implement FunctionTypeAlias in AstBuilder.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2703393005 .
2017-02-21 12:55:35 -08:00
Paul Berry df0b8bbe4b Implement AstBuilder support for void keyword.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2706293003 .
2017-02-21 12:31:41 -08:00
Paul Berry 67f46c19c1 Add preliminary support for methods to AstBuilder.
This is just enough support to get tests in TopLevelParserTest_Fasta.
I'll come back and fill in the details later when working specifically
on support for class members.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2707163002 .
2017-02-21 12:20:28 -08:00
Paul Berry 7647e90abb Handle TypeVariable and TypeVariables in AstBuilder.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2705153004 .
2017-02-21 12:00:30 -08:00
Dan Rubel dbe5e64c8f fix token type of first token in converted token stream
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2701723002 .
2017-02-21 12:18:42 -05:00
Peter von der Ahé e64167d42a Specify patched_sdk location with --compile-sdk.
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2710643002 .
2017-02-21 12:36:51 +01:00
Peter von der Ahé 042fd33e75 Remove unused imports.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2704933007 .
2017-02-21 11:33:14 +01:00
Paul Berry eabf574d7b Capture const/final/var keyword in AstBuilder.endTopLevelFields.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2708703002 .
2017-02-20 07:38:04 -08:00
Paul Berry c28fdb6a02 Minor fixes.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2710533002 .
2017-02-20 07:11:58 -08:00
Paul Berry 9b04857653 Implement AstBuilder support for top level variables and function literals.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2699423002 .
2017-02-20 07:07:20 -08:00
Dmitry Olshansky aa1e6d4ccf Relanding: avoiding creating strings for canonicalization
Do a hash table for tripples:
(list of bytes, start, end) --> canonicalized string

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2702753003 .
2017-02-20 15:19:10 +01:00
Peter von der Ahé dd0b61bc76 Run Ctrl-t on weirdly formatted test.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2710503002 .
2017-02-20 15:04:07 +01:00
Peter von der Ahé 2d9831ae21 Implement super operators.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2704143003 .
2017-02-20 14:27:45 +01:00
Peter von der Ahé a1b66ca1b7 Implement --fatal=errors.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2706053002 .
2017-02-20 14:23:38 +01:00
Peter von der Ahé 14511ee4f1 Add handleNoVariableInitializer event.
BUG=https://github.com/dart-lang/sdk/issues/28833.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2704163002 .
2017-02-20 11:01:50 +01:00
Peter von der Ahé d32f47b293 Implement line and column numbers.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2704753002 .
2017-02-20 10:04:12 +01:00
Peter von der Ahé 5d45990a65 Fix type of NamedTypeBuilder.builder.
R=paulberry@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2689283012 .
2017-02-20 09:37:15 +01:00
Paul Berry 60c2aae9f8 Implement AstBuilder support for library, part, and part-of declarations.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2707663002 .
2017-02-18 10:26:19 -08:00
Paul Berry a047dd15c9 Add AstBuilder support for class declarations and named mixin applications.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2703863003 .
2017-02-17 15:06:56 -08:00
Sigmund Cherem 04cf44d89c Add script to run fasta as a benchmark
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2697403005 .
2017-02-17 14:33:56 -08:00
Paul Berry 528bebc00f Add AstBuilder support for import and export directives.
Still not supported yet: conditional URIs.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2691423007 .
2017-02-17 10:23:30 -08:00
Paul Berry 901dc916cf Begin adding top-level function declaration support to AstBuilder.
R=ahe@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2701513006 .
2017-02-17 08:25:44 -08:00
Sigmund Cherem 884f0acf8d Allow to specify analysis-options to the analyzer step in package:testing, and
use it in pkg/front_end

BUG=
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2697603009 .
2017-02-16 10:38:51 -08:00
Paul Berry af9e2fb791 Change toAnalyzerTokenStream into a class.
This will allow it to be subclassed in parser tests, which will need
to record the relationship between analyzer and fasta tokens.

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2693403002 .
2017-02-15 18:09:35 -08:00
Sigmund Cherem 64591376e7 Get rid of two more warnings.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2699743002 .
2017-02-15 14:30:22 -08:00
Konstantin Shcheglov 6e1725b0b2 Implement CompilationUnitElement.lineInfo in MockCompilationUnitElement.
R=paulberry@google.com, pquitslund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2693303003 .
2017-02-15 11:21:55 -08:00
Paul Berry c239c221eb Comment improvements
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2701493002 .
2017-02-15 10:37:01 -08:00
Paul Berry 7aeba7513d Fix strong mode errors introduced by b62a37a36b.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2698013003 .
2017-02-15 10:35:31 -08:00
Peter von der Ahé 4b206de390 Use identical in token operators.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2691213005 .
2017-02-15 13:42:53 +01:00
Peter von der Ahé b62a37a36b Implement type variables in mixin applications.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2689303003 .
2017-02-15 10:38:47 +01:00
Peter von der Ahé 40604876fe Make extra sure that _getMainClosure is set to the correct value.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2690423002 .
2017-02-15 09:06:21 +01:00
Paul Berry ac6f458c1d Match "<", ">", and ">>" when translating analyzer tokens to Fasta tokens.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2693793004 .
2017-02-14 09:36:09 -08:00
Dmitry Olshansky bf1eeab38e Revert: StringCanonicalizer for Fasta
R=ahe@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2692093004 .
2017-02-14 17:24:50 +01:00
Peter von der Ahé fcb43a1fbf Use kernel transformation and VmTarget.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2691273002 .
2017-02-14 17:21:53 +01:00
Peter von der Ahé 4b4b219b59 Handle top-level getters and setters in parts.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2695633004 .
2017-02-14 17:16:49 +01:00
Dmitry Olshansky 2805018376 Fix analyzer warnings in StringCanonicalizer
TBR=ahe@google.com

Review-Url: https://codereview.chromium.org/2694013004 .
2017-02-14 16:53:16 +01:00
Dmitry Olshansky bacb61c981 Fix typo in StringCanonicalizer
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2695033002 .
2017-02-14 16:16:36 +01:00
Dmitry Olshansky 58ca47d58a Avoiding creating strings for canonicalization
Do a hash table for tripples:
(list of bytes, start, end) --> canonicalized string

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2696803003 .
2017-02-14 15:44:36 +01:00
Paul Berry cf6a01be19 When translating analyzer/fasta token streams, match up begin/end tokens.
This required adding some scanner tests in order to validate the translation.

Note that the Fasta scanner considers "<", ">", and ">>" to be
grouping tokens (with special rules to avoid problems when "<" is used
to mean "less than"); analyzer does not.  The translation does not
handle this correctly yet.

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2690073003 .
2017-02-14 04:46:36 -08:00
Peter von der Ahé 8ebf6a0593 Remove noisy warning.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2690393002 .
2017-02-14 12:38:38 +01:00
Peter von der Ahé 490c5ff331 Handle mandatory arguments correctly in function type aliases.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2692273003 .
2017-02-14 12:32:55 +01:00
Peter von der Ahé cb10fc984b Add a new kind of suite to ease test.dart integration.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2693893002 .
2017-02-14 10:45:44 +01:00
Paul Berry 8704e7a09d Fix unused imports.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2695803002 .
2017-02-13 14:33:23 -08:00
Sigmund Cherem 45b7a8334c Add support for additional libraries to FE API
(this was already reviewd on another CL, I'm just pulling it aside)
BUG=
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2690203002 .
2017-02-13 13:28:34 -08:00
Devon Carew acd6b3c12a Add intellij metadata for pkg/front_end.
BUG=
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2694033002 .
2017-02-13 13:26:18 -08:00
Paul Berry 02ff6326d7 Remove unused TokenType.IS.
TokenType is used for symbols, not keywords.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2691043003 .
2017-02-13 11:17:02 -08:00
Paul Berry f0e657015d Add the ability to convert an analyzer token stream to a Fasta one.
This will be needed in order to integrate Fasta into the existing
analyzer codebase, because the analyzer task model considers the
parser and scanner to be separate black boxes with an analyzer token
stream in between.  In order for Fasta to be able to drop into those
black boxes, we will need to be able to convert Fasta tokens to
analyzer tokens after scanning, and then back to Fasta tokens prior to
parsing.

Tested via a "round trip" test that converts the analyzer token stream
into a Fasta token stream and then back.

Note that the transformation is not perfect; it currently fails to
recreate error tokens and it fails to hook up the connection between a
BeginGroup token and the corresponding end token.  But it is enough to
be able to pass tests for now.  It will be improved (and tests will be
expanded) in future CLs.

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2689733003 .
2017-02-13 10:24:49 -08:00