dart-sdk/pkg/front_end
Kevin Millikin 4e4e9ec74a Implement int-to-double literal conversion.
The implementation strategy is to replace int literals with double
literals during type inference, provided they occur in a double
context and can be represented exactly as a double.  This requires us
to keep integer literals larger than the 64-bit range until after type
inference and to keep the source text of 64-bit integers until after
type inference for error reporting.

We postpone the check for web int literals as well because the
expression generator that was performing it isn't otherwise needed.

Fixes https://github.com/dart-lang/sdk/issues/34357.

Change-Id: Ia78c031565cad83961675fc4fb1cc871eaed01d3
Reviewed-on: https://dart-review.googlesource.com/c/78122
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-10-09 09:15:28 +00:00
..
benchmarks/ikg Smaller changes to incremental_perf.dart, this is preparation for the flutter IKG perf benchmark 2017-11-17 10:34:12 +00:00
lib/src Implement int-to-double literal conversion. 2018-10-09 09:15:28 +00:00
test Implement int-to-double literal conversion. 2018-10-09 09:15:28 +00:00
testcases Implement int-to-double literal conversion. 2018-10-09 09:15:28 +00:00
tool Move byte store to package:analyzer 2018-10-04 09:15:54 +00:00
analysis_options.yaml Update analysis options 2018-09-07 09:10:37 +00:00
error_recovery.yaml Add error_recovery.yaml: a place to add scenarios we explicitly want to model in 2017-08-10 11:52:48 -07:00
LICENSE
messages.status Improve error message when var is used as a type name 2018-10-05 11:56:26 +00:00
messages.yaml Implement int-to-double literal conversion. 2018-10-09 09:15:28 +00:00
pubspec.yaml Remove byte_store and performance_logger stubs 2018-10-08 12:03:38 +00:00
README.md Prepare for analyzer 0.32.0. 2018-05-14 18:07:02 +00:00
testing.json Fix broken 'fasta testing sdk'. 2018-09-27 13:08:47 +00:00

Front end for Dart

This package provides a low-level API for use by compiler back ends that wish to implement the Dart language. It is intended for eventual use by dev_compiler, dart2js, and the Dart VM. In addition, it will share implementation details with the analyzer package--this will be accomplished by having the analyzer package import (and re-export) parts of this package's private implementation.

End-users should use the [dartanalyzer][analyzercli] command-line tool to analyze their Dart code.

Integrators that want to write tools that analyze Dart code should use the [analyzer] package.

Note: The APIs in this package are in an early state; developers should be careful about depending on this package. In particular, there is no semver contract for release versions of this package. Please depend directly on individual versions.