Commit Graph

1972 Commits

Author SHA1 Message Date
Leaf Petersen 006c22d0a2 Re-remove ad hoc Future.then inference.
Ad hoc inference for Future.then (and overrides) was kept in place for
an extra release cycle to allow code that implemented the Future
interface to work both before and after the transition to using
FutureOr for the callback return type.  This CL removes support for
this ad hoc inference.

BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2859703004 .
2017-05-04 10:45:21 -07:00
Konstantin Shcheglov fe21d9fa62 Inference for typed ListLiteral(s).
R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2856363002 .
2017-05-04 08:56:27 -07:00
Konstantin Shcheglov 9a34ac9f27 Type inference for StringConcatenation.
The test simple_literal_string was replaced with string_literal.

R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2855403002 .
2017-05-04 08:47:12 -07:00
Paul Berry d842f35bb2 Add a strong mode implementation of LUB to fasta; use it to infer ?:
R=ahe@google.com, leafp@google.com

Review-Url: https://codereview.chromium.org/2849213002 .
2017-05-03 10:36:47 -07:00
Konstantin Shcheglov 6885aea0db Infer types of bool/null/string literals.
R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2849293002 .
2017-05-01 19:33:31 -07:00
Konstantin Shcheglov 3604e69951 Infer types of double literals.
I'm also adding simple_* tests for integer and double literals, because
as it is now, existing tests are more complex, and we don't see whether
these basic features work.

R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2853113002 .
2017-05-01 14:16:25 -07:00
Erik Corry aa6353b6da Dart SDK Spelling b, c, and d.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02:00
Konstantin Shcheglov 911ed9ab94 Don't include parameter names in types, don't use Unicode arrow.
R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2848033002 .
2017-04-28 10:59:50 -07:00
Konstantin Shcheglov 2ef98b6e6e Synthetic function elements don't have a name or enclosing element/library.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2847213002 .
2017-04-28 10:35:00 -07:00
Konstantin Shcheglov f0e1add542 Set 'enclosingElement' for FunctionElementImpl_forLUB.
This makes almost all <unknown> library names to go away in front_end
inference tests.

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

Review-Url: https://codereview.chromium.org/2849893002 .
2017-04-28 09:30:07 -07:00
Konstantin Shcheglov 3a612c7b73 Generated front_end/testcases/inference test files from Analyzer tests.
Only *.strong.expect files are included.
The tests are marked as failing for compile/, kompile/ and outline/.
I could generate them, but I don't think that these results are
actually "expected", it'd more like the "status quo".

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

Review-Url: https://codereview.chromium.org/2846103002 .
2017-04-27 14:32:31 -07:00
Konstantin Shcheglov 0fe8546217 Rollback instrumentation during analysis and validate resolved ASTs instead.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2846883005 .
2017-04-27 10:30:19 -07:00
Konstantin Shcheglov 3f5c0be45f Add the forgotten expectations for a new inference test.
TBR

R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2841183002 .
2017-04-26 13:35:08 -07:00
Konstantin Shcheglov cf013c6469 Instrument analyzer's type analysis and run front_end inference tests.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2846463003 .
2017-04-26 13:31:10 -07:00
Paul Berry a3311858a7 Introduce initial plumbing for type promotion in fasta.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2829223007 .
2017-04-25 09:06:51 -07:00
Erik Corry 4b9bba55b4 Stoppp using trippple consonants
R=ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2833073002 .
2017-04-21 17:50:13 +02:00
Paul Berry 77d26a330c Add top level type inference logic for integer literals.
This CL hooks up enough infrastructure for doing simple top level type
inference of variables whose initializer is an int.

Additional type inference rules will be added in follow-up CLs.

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2828253003 .
2017-04-21 04:38:18 -07:00
Jacob Richman 997b4e62af Run formatter on a few frontend and kernel files that hadn't been formatted.
BUG=
R=asgerf@google.com

Review-Url: https://codereview.chromium.org/2820323005 .
2017-04-20 09:25:13 -07:00
Paul Berry e8e8359cdf Add local type inference logic for integer literals.
This CL introduces Fasta's first type inference rule, and hooks it up
to all the necessary testing infrastructure.  The rule is that a local
variable whose initializer is an integer literal should have an
inferred type of int.

Only variables occurring at top level within a method are inferred (we
don't yet recurse inside sub-blocks).

Additional type inference rules will be added in follow-up CLs.

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2828693003 .
2017-04-20 03:36:19 -07:00
Peter von der Ahé e2eee219ac Complain about incorrect this/super constructor initializers.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2800083002 .
2017-04-20 10:04:12 +02:00
Peter von der Ahé cf6b2736ec Wrap VariableDeclarations in Blocks as specified by Kernel.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2801283002 .
2017-04-20 09:31:36 +02:00
Peter von der Ahé 2d9956a93d Move kernel baseline tests to front_end.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2825063002 .
2017-04-19 10:57:58 +02:00