Commit graph

2545 commits

Author SHA1 Message Date
Johnni Winther 1e27180a6a Serialize erroneous element and more
- Adds support for serialization/deserialization of ErroneousElement.
- Imports dart:core for serialized libraries.
- Fixes and tests reserialization for ResolvedAst.sourceUri

R=het@google.com

Review URL: https://codereview.chromium.org/2088233003 .
2016-06-24 10:38:19 +02:00
William Hesse a4d514ae2a Update status for flaky browser tests
BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2080773003 .
2016-06-21 13:57:31 +02:00
Johnni Winther 85271bae28 Serialize and process patch metadata
- Metadata on patched elements is also serialized.
- Backend.onElementResolved is also called for deserialized elements.

BUG=
R=het@google.com

Review URL: https://codereview.chromium.org/2065413002 .
2016-06-16 12:21:35 +02:00
Johnni Winther 5f3cf6f932 Serialize metadata
R=het@google.com

Committed: f8e3f22347

Review URL: https://codereview.chromium.org/2060183002 .

Reverted: 368d4d54d3
2016-06-16 12:13:17 +02:00
Johnni Winther 34bab63be2 Remove Registry from registerMetadataConstant
Avoids registration of metadata from within resolution.
This prepares for handling deserialized metadata.

R=het@google.com

Committed: ed1777e4b2

Review URL: https://codereview.chromium.org/2056903003 .

Reverted: 368d4d54d3
2016-06-16 12:04:36 +02:00
Johnni Winther 368d4d54d3 Revert "Remove Registry from registerMetadataConstant" and "Serialize metadata"
This reverts commit ed1777e4b2.
This reverts commit f8e3f22347.

Review URL: https://codereview.chromium.org/2070493003 .
2016-06-16 10:11:51 +02:00
Johnni Winther f8e3f22347 Serialize metadata
R=het@google.com

Review URL: https://codereview.chromium.org/2060183002 .
2016-06-16 09:45:12 +02:00
Johnni Winther ed1777e4b2 Remove Registry from registerMetadataConstant
Avoids registration of metadata from within resolution.
This prepares for handling deserialized metadata.

R=het@google.com

Review URL: https://codereview.chromium.org/2056903003 .
2016-06-16 09:17:34 +02:00
Johnni Winther 364f84f05d Serialize NativeBehavior for elements
- Serialize nativeMethodBehavior, nativeFieldLoadBehavior and nativeFieldStoreBehavior.
- Add a test for the serialization/deserialization of native data for dart:html.

R=het@google.com

Review URL: https://codereview.chromium.org/2057993003 .
2016-06-16 08:52:25 +02:00
Johnni Winther 286b21133b Compute and cache element NativeBehavior during resolution.
NativeBehavior for method calls and field load/store are now computed
during resolution and apply as part of the world impact. This prepares
for (full) serialization/deserialization of native elements.

R=het@google.com

Review URL: https://codereview.chromium.org/2045223002 .
2016-06-09 09:50:51 +02:00
Johnni Winther e97c1c673f Align semantics of getDefaultConstructor()
The modelx implementation of getDefaultConstructor() (surprisingly)
returned constructors with only optional arguments. This CL aligns the
modelz implementation with this, adding a TODO to figure out what the
best behavior is.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2033893004 .
2016-06-06 11:23:22 +02:00
Johnni Winther 153c36ce39 Don't crash when tree shaking is disabled
When tree shaking is disabled, type checking crashed on member lookup into serialized classes.
Also classes are now ensured to be resolved when computing lookup.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2031293002 .
2016-06-06 11:08:01 +02:00
Johnni Winther b11a92f2ed Handle use of fromEnvironment from serialized data.
This CL removes the [intEnvironment], [boolEnvironment] and [stringEnvironment]
from [Compiler] and instead determine .fromEnvironment directly from the
constructor element itself.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2033383002 .
2016-06-06 10:52:41 +02:00
Johnni Winther 0b926d64a4 Handle deferred access of unserialized code.
This CL fixes crashes in deferred_load when using serialized dart:core:
- resolution impacts are cached in [Resolution] for both serialized and unserialized elements.
- type variable constants (for mirrors) are computed using [ConstantExpression]s.
- LibraryElementZ.getImportsFor returns the empty list; thus still not valid for deferred access in serialized code.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2034973003 .
2016-06-06 10:26:37 +02:00
Johnni Winther bb9fab0065 Fix code-size regression
This reinserts the native spec-string interpretation.

The CL https://codereview.chromium.org/2004833003/ changed the interpretation of `List` from `List<E>` to `List<dynamic>` causing these native classes to be added through subtyping:

NativeUint8List <: List
NativeUint8ClampedList <: List
NativeUint32List <: List
NativeUint16List <: List
NativeInt8List <: List
NativeInt32List <: List
NativeInt16List <: List
NativeFloat64List <: List
NativeFloat32List <: List
NativeTypedArrayOfInt <: List
NativeTypedArrayOfDouble <: List

R=sra@google.com

Committed: 565b30123c

Reverted: fa5b98126c

Review URL: https://codereview.chromium.org/2021723003 .
2016-06-02 13:56:51 +02:00
Johnni Winther fa5b98126c Revert "Fix code-size regression"
This reverts commit 565b30123c.

BUG=

Review URL: https://codereview.chromium.org/2037593002 .
2016-06-02 11:41:44 +02:00
Johnni Winther 7499d74f4b Compute and check members for serialization
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2015903002 .
2016-06-02 11:00:13 +02:00
Johnni Winther ac1bc765d9 Support references to unserialized libraries.
This adds initial support for combining serialized and unserialized libraries
even in the case where the serialized library refers to the unserialized library.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2024783003 .
2016-06-02 10:39:29 +02:00
Johnni Winther 5916ee557f Improve equivalence testing of unnamed mixin applications.
The equivalence of unnamed mixin applications cannot be tested directly since
they are not nominal entities. In the example below two classes by the synthetic
name `S+M` are introduces. This CL adds a reference to the introducing class so
that the unnamed mixin applications can be distinguished as `S+M from C1` and
`S+M from C2`.

class S {}
class M {}
class C1 extends S with M {}
class C2 extends S with M {}

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2017903002 .
2016-06-02 10:26:26 +02:00
Johnni Winther 565b30123c Fix code-size regression
This reinserts the native spec-string interpretation.

The CL https://codereview.chromium.org/2004833003/ changed the interpretation of `List` from `List<E>` to `List<dynamic>` causing these native classes to be added through subtyping:

NativeUint8List <: List
NativeUint8ClampedList <: List
NativeUint32List <: List
NativeUint16List <: List
NativeInt8List <: List
NativeInt32List <: List
NativeInt16List <: List
NativeFloat64List <: List
NativeFloat32List <: List
NativeTypedArrayOfInt <: List
NativeTypedArrayOfDouble <: List

R=sra@google.com

Review URL: https://codereview.chromium.org/2021723003 .
2016-06-02 10:16:44 +02:00
Johnni Winther 91616103aa Use correct type on evaluated literal symbols.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2018523002 .
2016-05-27 11:05:00 +02:00
Johnni Winther d78290a5b2 Compute import paths using ImportElement and ExportElement
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2005293003 .
2016-05-27 10:58:52 +02:00
Johnni Winther e25e6206d8 Fix analyze_dart2js_helpers_test
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2006333004 .
2016-05-27 10:45:38 +02:00
Johnni Winther dd4368e217 Fix several element properties in serialization.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2012163003 .
2016-05-27 10:37:36 +02:00
Johnni Winther 326af10bc8 Add names and support for preserialized data to serialization tests
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2013763002 .
2016-05-26 09:36:32 +02:00
Harry Terkelsen b5fbea4f4a accept null type casts in dummy noSuchMethod checks
Fixes #23843

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2009853003 .
2016-05-25 10:14:53 -07:00
Sigmund Cherem b741e3f0df Make CompilerTask independent of compiler.
Now this base class only has logic for measuring time.

R=het@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org/2000323006 .
2016-05-25 09:11:08 -07:00
Johnni Winther 42435f2643 Support multiple resolution inputs from command line.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2004833003 .
2016-05-25 11:02:34 +02:00
Sigmund Cherem ea5f49c969 Delete support for source mirrors
R=johnniwinther@google.com

Committed: 6586b3696e

Review URL: https://codereview.chromium.org/1799283002 .
2016-05-24 13:05:47 -07:00
Johnni Winther 552dc14877 Support multiple serialization sources in DeserializerSystemImpl.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2007573002 .
2016-05-24 10:23:11 +02:00
Johnni Winther 7877bfe64e Yet another unnecessary ElementX reference
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2005843002 .
2016-05-24 10:02:21 +02:00
Johnni Winther e0594d7b7e Handle constant function references.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2000153002 .
2016-05-24 09:52:00 +02:00
Johnni Winther 95fa410d53 Handle resolvedAst for forwarding constructors and callType on unnamed mixin applications.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2000663002 .
2016-05-23 10:42:45 +02:00
Johnni Winther f27a03a58a Update status.
BUG=

Review URL: https://codereview.chromium.org/1996313003 .
2016-05-20 16:36:28 +02:00
Johnni Winther b3f8cd31a0 Handle use of constant constructors with default values.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1994613004 .
2016-05-20 11:40:35 +02:00
Johnni Winther 529c251546 Handle redirecting factories.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1992733002 .
2016-05-20 11:26:25 +02:00
Johnni Winther bfb8a077e2 Fix ForwardingConstructorElementZ.computeEffectiveTargetType
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1981313002 .
2016-05-20 11:20:23 +02:00
Lasse R.H. Nielsen c987c39ed2 Update mirrors_used test counter to 432.
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1995883003 .
2016-05-19 15:06:54 +02:00
Johnni Winther 627c18a7e7 Use ResolvedAst in constant initializers
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1979613002 .
2016-05-18 12:23:45 +02:00
Johnni Winther f3ff2a6302 Handle explicit constructor.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1969313007 .
2016-05-18 12:13:20 +02:00
Johnni Winther 6571bdb95e Support (de)serialization from command-line
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1975153002 .
2016-05-18 11:52:32 +02:00
Johnni Winther 039473f349 Store ResolvedAst on AstElement
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1970703002 .
2016-05-17 14:00:03 +02:00
Johnni Winther 50b85640b3 Change dart2js.dart to use compiler_new.dart
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1973753004 .
2016-05-17 12:27:23 +02:00
Johnni Winther fdb49caefd Fix inference reference to .initializer
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1966763003 .
2016-05-12 10:10:58 +02:00
Johnni Winther cb2fcd8117 Check closure data for serialization
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1967073002 .
2016-05-12 09:59:02 +02:00
Johnni Winther 681c3e6a89 Register mixin use from modelz.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1961323002 .
2016-05-11 09:53:40 +02:00
Johnni Winther b1f2c2cd3a Register NativeBehavior from WorldImpact.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1957343002 .
2016-05-10 09:50:11 +02:00
Johnni Winther 24c548f5bd Skip spurious constants in deferred computation.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1955403002 .
2016-05-10 09:41:19 +02:00
Johnni Winther a5078ea5f2 Serialize ParameterElement.node and ParameterElement.initializer for type inference
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1945263003 .
2016-05-09 10:23:34 +02:00
Sigmund Cherem ed9826894a Do not evaluate on-demand to prevent breaking the deferred loading task
BUG= https://github.com/dart-lang/sdk/issues/26406
R=sra@google.com

Review URL: https://codereview.chromium.org/1950243002 .
2016-05-04 18:23:37 -07:00
Erik Ernst d55adbed81 Add unit test on dart2js static analysis of method type parameters.
The new test is specifically for `dart2js --generic-method-syntax ..`,
executed programmatically using 'memory_compiler.dart'.
It verifies that each method type variable is treated as if it had
been an alias for `dynamic` (so the static analysis allows almost
all usages of these type variables, silently). Note that this behavior
is unlikely to be available with any other tools, and even `dart2js`
will behave differently when generic methods are implemented fully.
Hence, the new test will only be useful as-is during a transitional
period.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1939053002 .
2016-05-04 15:21:17 +02:00
Johnni Winther 3f11e131ae Report UNMATCHED_TOKEN instead of EXTRANEOUS_MODIFIER
Closes #25308

R=ahe@google.com

Review URL: https://codereview.chromium.org/1943723003 .
2016-05-04 13:42:29 +02:00
Sigurd Meldgaard e47e8af364 Fix missing functionality with --allow-native-extensions
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1945183002 .
2016-05-04 10:53:15 +02:00
Johnni Winther a0a214a8e2 Update status for moved test
Review URL: https://codereview.chromium.org/1938403002 .
2016-05-03 11:43:42 +02:00
Johnni Winther f79ff62b2e Don't crash on deserialized type inference.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1939703002 .
2016-05-03 11:29:24 +02:00
Johnni Winther 52b45145f0 Fix source information positions for deserialized patched elements.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1935933002 .
2016-05-03 10:52:33 +02:00
Johnni Winther 0e537d8086 Refactor unittests
Move serialization tests into subfolder
Move data files into data subfolders
Move tests with errors/warnings into quarantined subfolder
Skip packages/ folder in test

The latter three improves workflow in IntelliJ; providing error/warning free analysis of unittests (by exclusion of folders).

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1934883002 .
2016-05-03 10:44:13 +02:00
Erik Ernst 33478e2ab5 Rebased and retested version of CL 1915123008.
This CL is a rebased and retested version of CL 1915123008,
'Implements support for ignoring method type arguments in
resolution'. That CL caused failures on dart2js-jsshell but it is
now confirmed that the failures were caused by another CL.

Review URL: https://codereview.chromium.org/1942763002 .
2016-05-02 11:50:06 +02:00
Johnni Winther 832d87341f Handle deserialized compilation of closures
- and fix some errors in serialization and equivalence (test) of ResolvedAst

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1932183003 .
2016-04-30 11:20:20 +02:00
Erik Ernst c2d18fe065 Revert "Implements support for ignoring method type arguments in resolution."
This reverts commit e44e667ca7, because that
commit introduced many timeouts on dart2js-jsshell, ia32.

Review URL: https://codereview.chromium.org/1933403002 .
2016-04-29 21:36:54 +02:00
Erik Ernst e44e667ca7 Implements support for ignoring method type arguments in resolution.
Extends `FunctionExpression` to hold the formal type variable
declaration syntax. Introduces `GenericElement` as a new superclass of
`TypeDeclarationElement`, allowing `FunctionElement` to have a getter
`typeVariables`. Changes `SignatureResolver.analyze` in several ways
to create and handle the new type variables. In order to avoid circular
ordering dependencies, introduced new scope classes such that the
function signatures can be computed without relying on themselves to
look up type variables (e.g., `FunctionSignatureBuildingScope`).

Finally, the mock_compiler and resolver_test.dart were adjusted to give
a `scope` argument to `new ResolverVisitor(..)` in order to get the
correct scopes in the new setup.

A few words about the approach:

The type of every method type parameter behaves as `dynamic`, because
its bound is (unconditionally, ignoring any bound syntax that might be
present) set to `const DynamicType()`. This preserves the property
that diagnostic messages about the type variables will refer to the
correct location in the source code.

Type arguments passed in send expressions are parsed but not added to
the abstract syntax and therefore not passed on to the resolution
phase; this means that all sends are treated as if they had no actual
type arguments, even when they do have them. Hence, actual method type
arguments are completely ignored.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1915123008 .
2016-04-29 19:46:12 +02:00
Johnni Winther b361d8ce97 Support compilation of Hello World
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1927963002 .
2016-04-29 12:57:45 +02:00
Johnni Winther 4c563fecbf Serialize more properties of ConstructorElement.
Review URL: https://codereview.chromium.org/1924053003 .
2016-04-29 10:00:53 +02:00
Johnni Winther 4acfa253d3 Add toStructuredText to ConstantExpression and align method names with ConstantValue
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1916053003 .
2016-04-27 12:48:50 +02:00
Johnni Winther d1ca90aba6 Store constant variable initializers in elements.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1919143002 .
2016-04-27 10:01:58 +02:00
Stephen Adams 7684794b8b Fix for issue 26243 - illegal motion of assignments in instruction merging
Fix by treating some HLocalGet instructions as pure and others as
impure.  Simply making HLocalGet impure caused a lot of code quality
regressions with the single-assignment exception and stack-trace
variables.

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

Committed: e9b06a9cd7

Reverted: 5fd51e6340

Review URL: https://codereview.chromium.org/1914623002 .
2016-04-26 15:26:37 -07:00
Johnni Winther 4c9e6ff345 Replace _analyzeElementEagerly with Resolution.ensureResolved
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1917863002 .
2016-04-26 09:54:24 +02:00
Stephen Adams 5fd51e6340 Revert "Fix for issue 26243 - illegal motion of assignments in instruction merging"
TBR=sigmund@google.com
BUG=

Review URL: https://codereview.chromium.org/1913843003 .
2016-04-25 11:53:14 -07:00
Stephen Adams e9b06a9cd7 Fix for issue 26243 - illegal motion of assignments in instruction merging
Fix by treating some HLocalGet instructions as pure and others as
impure.  Simply making HLocalGet impure caused a lot of code quality
regressions with the single-assignment exception and stack-trace
variables.

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

Review URL: https://codereview.chromium.org/1914623002 .
2016-04-25 10:20:27 -07:00
Johnni Winther 09c242e729 Reinsert (and test) handling of exceptions from user code.
Closes issue #26304

R=ahe@google.com

Review URL: https://codereview.chromium.org/1914973002 .
2016-04-25 12:56:10 +02:00
Johnni Winther 8b39e67ac4 Derive source information from ResolvedAst.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1902363002 .
2016-04-25 11:23:35 +02:00
Johnni Winther 7c20fa24d2 Serialize more native data.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1902753002 .
2016-04-20 10:30:19 +02:00
Johnni Winther de1d473529 Store and serialize NativeBehavior in TreeElements.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1896843002 .
2016-04-19 11:04:11 +02:00
Johnni Winther 4b01f4136e Support deserialization of ResolutionImpact for members of unnamed mixin applications
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1901683002 .
2016-04-19 10:26:42 +02:00
Johnni Winther 553eec6047 Fix serialization of forwarding constructors.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1891193003 .
2016-04-19 10:09:47 +02:00
Johnni Winther 2ccfcf438a Support deserialized compilation of the empty program.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1892093003 .
2016-04-18 10:36:34 +02:00
Johnni Winther ea4a562517 Fix some issues in element serialization.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1888393002 .
2016-04-18 09:31:23 +02:00
Harry Terkelsen ce37fbcb3d Refactor Parsing to remove compiler dependency
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1892183002 .
2016-04-15 13:03:02 -07:00
Johnni Winther 14baf6b37b Support serialization of all resolved asts from dart:core
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1888803002 .
2016-04-15 10:34:14 +02:00
Alan Knight 01c543cb0a Revert "Add white-listed for issue 26258"
This reverts commit ec6f03fd5a.

BUG=

Review URL: https://codereview.chromium.org/1892663002 .
2016-04-14 14:36:49 -07:00
Florian Loitsch bcd8ef3dea Enable conditional directives by default.
R=brianwilkerson@google.com, iposva@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/1851753002 .
2016-04-14 19:02:41 +02:00
Johnni Winther ec6f03fd5a Add white-listed for issue 26258
Review URL: https://codereview.chromium.org/1886893003 .
2016-04-14 11:03:55 +02:00
Johnni Winther eecf628d29 Serialize JumpTarget and LabelDefinition.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1883863002 .
2016-04-14 10:51:29 +02:00
Harry Terkelsen 8f3e4cff01 dart2js: remove references to compiler in ResolvedUriTranslator
BUG=
R=johnniwinther@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/1884793002 .
2016-04-13 13:49:59 -07:00
Johnni Winther 7e8e01610e Expand ResolvedAst to handle synthetic constructors.
Main change is to add [ResolvedAstKind] to support ResolvedAst for default and forwarding constructors.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1881013002 .
2016-04-13 12:45:14 +02:00
Johnni Winther b8c9bc3d42 Add summary to analyze_* tests.
R=eernst@google.com

Review URL: https://codereview.chromium.org/1885523002 .
2016-04-12 15:02:53 +02:00
Erik Ernst 440b17901e Adds support for --generic-method-syntax
This CL adds support for parsing and ignoring declarations of type
parameters on methods and functions, and passing type arguments to
method and function invocations. The type parameters thus declared do
not get a representation during static analysis, so any usage will
cause warnings about undefined types; hence, this CL transforms usage
of generic methods from syntax errors to static warnings. A followup
CL will eliminate the static warnings.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1863053003 .
2016-04-11 15:58:35 +02:00
Johnni Winther 601d3e699a Mark serialization tests as slow.
Review URL: https://codereview.chromium.org/1876733002 .
2016-04-11 11:41:05 +02:00
Johnni Winther fefa2188ce Serialize TreeElements
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1873573004 .
2016-04-11 11:16:10 +02:00
Johnni Winther 1f6c0dd14b Refactor serialization test files.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1870133002 .
2016-04-11 10:39:20 +02:00
Harry Terkelsen 9f8427d041 Begin refactoring compiler out of diet parser and scanner
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1867243004 .
2016-04-08 14:11:19 -07:00
Johnni Winther ee2fc29142 Test closed world model after deserialization.
We still need better tracking of native/foreign elements.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1856953003 .
2016-04-06 11:30:20 +02:00
Erik Ernst 586c43ac7e Repeats and fixes the changes landed & reverted as CL 1789553003.
When landed, CL 1789553003 turned out to cause bot failures because
some libraries outside the compiler are importing compiler libraries
which have been updated. For instance, the tests in 'compiler/dart2js'
depend on several internal elements of the 'dart2js' compiler.

This CL updates these external dependents to work with the modified
library structure and class APIs of the compiler. A small adjustment
was applied to 'dart2js_incremental' as well.

No further dependents are believed to exist: Grepping in sdk for
relevant imports does not reveal any further imports of any of the
libraries in the compiler where the "interface" has changed, and
external clients are not supported (that is, imports in arbitrary
github repositories may or may not break if they use the compiler
internals, but we do not support this type of dependency so we won't
do anything to protect them against that type of breakage).

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1864433004 .
2016-04-05 17:26:07 +02:00
Johnni Winther e914716bb7 Test ResolutionImpact equivalence.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1856713002 .
2016-04-05 09:36:05 +02:00
Johnni Winther 46beb25f43 Add *IndexSetIfNull methods to SemanticSendVisitor.
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1842033004 .
2016-04-01 09:46:42 +02:00
Alan Knight 0f5c249f22 Fix webgl methods, properly this time
BUG=

Review URL: https://codereview.chromium.org/1846803002 .
2016-03-31 09:45:32 -07:00
Johnni Winther 27b2c36ec1 Serialize ResolutionImpact instead of WorldImpact.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1839243003 .
2016-03-31 09:55:03 +02:00
Johnni Winther 612d81466a Skip checking of IMPORT_EXPERIMENTAL_MIRRORS warning in analyze_test_test.
R=whesse@google.com

Review URL: https://codereview.chromium.org/1845563003 .
2016-03-30 12:12:47 +02:00
Johnni Winther cfe157a4ff Make analyze_test_test less verbose
BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org/1838903003 .
2016-03-30 09:04:54 +02:00
Johnni Winther 71f0676fae Whitelist warnings in web_gl_dart2js.dart
BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org/1838153002 .
2016-03-29 15:12:50 +02:00