jwren@google.com
2ceb165494
Fix for 18468- T << Type where T is a type parameter and Type is the type Type from dart.core
...
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//252693006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35501 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 22:10:11 +00:00
jwren@google.com
2388b7d73d
Change the error for importing a deferred library with a top-level 'loadLibrary' to being a hint. Also, the logic for checking for the 'loadLibrary' from the element model into the hints phase (BestPracticesVerifier).
...
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//253493010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35495 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 20:13:59 +00:00
herhut@google.com
8e34dc3546
Allow a closure to be torn off from itself via .call.
...
BUG= http://dartbug.com/17474
R=floitsch@google.com
Review URL: https://codereview.chromium.org//252693003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35473 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 06:46:48 +00:00
srdjan@google.com
2cc32fd9fc
Fix types in test.
...
Review URL: https://codereview.chromium.org//256623010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35456 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 23:39:56 +00:00
srdjan@google.com
0c2b0af123
Copy of Issue 231383002 after hard disk crash: First step in improving instance of test for a fixed set of value cids returning different results.
...
Review URL: https://codereview.chromium.org//258563004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35455 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 23:21:12 +00:00
paulberry@google.com
6c000ea2cb
New analyzer snapshot, based on r35422.
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//257773008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35426 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 15:18:19 +00:00
johnniwinther@google.com
41d98f8427
Handle generic parameters in synthesized constructor for mixin applications.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//246563006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35359 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 08:35:28 +00:00
sigurdm@google.com
00910f947b
Insert checks before deferred calls and accesses.
...
These checks will throw an error if the library was not loaded.
R=floitsch@google.com , johnniwinther@google.com
Committed: https://code.google.com/p/dart/source/detail?r=35306
Was reverted by Issue 247863005 r35308 due to failing co19-test
Review URL: https://codereview.chromium.org//232563006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35355 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 07:51:35 +00:00
sigurdm@google.com
a31796ed37
Revert "Insert checks before deferred calls and accesses."
...
This reverts commit r35306.
Review URL: https://codereview.chromium.org//247863005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35308 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 09:23:33 +00:00
sigurdm@google.com
910fffd40d
Insert checks before deferred calls and accesses.
...
These checks will throw an error if the library was not loaded.
R=floitsch@google.com , johnniwinther@google.com
Review URL: https://codereview.chromium.org//232563006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35306 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 07:56:03 +00:00
regis@google.com
98bcbb0dae
Do not ignore side effects of a type test or type cast as expression, such
...
as bound errors in checked mode.
Added tests.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//246293008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35284 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 20:48:13 +00:00
jwren@google.com
4f4507b9ef
Fix for 14221/ 15553/ 16673- X isSubtypeOf E now returns false when X is some type and E is a type parameter. This fixes a few issues, but also breaks some assertions (language tests that now have valid warnings from the analyzer).
...
Additional work will need to be done to fix the language tests, and to investigate the case of X isSubtypeOf E where X is of type Type.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//247313004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35281 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 20:07:54 +00:00
scheglov@google.com
d1cc18b5e1
New analyzer snapshot.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//247053004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35270 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 17:10:47 +00:00
brianwilkerson@google.com
56ebb916fc
Fix for issue 18273
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//244253009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35260 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 14:43:35 +00:00
scheglov@google.com
314fd76902
New analyzer snapshot.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//243263004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35179 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-18 19:55:14 +00:00
paulberry@google.com
b8b2b5e454
Change UNDEFINED_FUNCTION from an error to a warning (issues 18274, 15315).
...
Also update the spec quote for the error enum, and add a unit test for
a case that wasn't previously covered
(test_undefinedFunction_inImportedLib).
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//241823002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35163 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-18 13:44:26 +00:00
paulberry@google.com
d2349ec6c4
Fix least upper bound computation for generic types (dartbug.com/15060)
...
Consider the classes:
class A<T> {}
class B<T> extends A<T>
class C<T> extends A<T>
class D {}
class E {}
When computing the least upper bound of B<D> and C<E>, we were making
two mistakes:
1. When computing superclasses we were using
ClassElement.getSupertype() (which doesn't substitute type arguments),
so B<D> and C<E> were considered to derive from a common type A<T>
rather than distinct types A<D> and A<E>. A similar problem existed
for interfaces.
2. When intersecting superinterface sets, we were recursively taking
the least upper bound of type arguments, so A<D> and A<E> were
coalesced into A<Object>. The spec and VM consider A<D> and A<E> to
be unrelated types for the purpose of least upper bound computation,
so the least upper bound should simply be Object.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//234213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34952 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 23:07:51 +00:00
paulberry@google.com
03d6b2c1aa
Allow function literal in string interpolation (dartbug.com/18137).
...
As of r34903, the VM allows function literals inside string
interpolation, even if the string is inside an initializer. This
makes the corresponding change to the analyzer.
R=jwren@google.com
Review URL: https://codereview.chromium.org//231793007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34930 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 15:53:37 +00:00
floitsch@google.com
5539ee1908
Update status file.
...
Review URL: https://codereview.chromium.org//233143002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34923 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 12:39:40 +00:00
floitsch@google.com
69802ab88a
Allow closures in string literals in initializer expressions.
...
BUG= http://dartbug.com/18102
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//232823002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34919 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 11:50:23 +00:00
iposva@google.com
46ab956f9d
- Mark language/function_literals2_test as failing.
...
Review URL: https://codereview.chromium.org//231983005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34911 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 03:24:23 +00:00
hausner@google.com
10f6318d87
Allow function literals in string interpolation
...
Interpolated strings in initializers can contain function literals. Add a test case to the function literals test.
Fixes issue 18112.
R=regis@google.com
Review URL: https://codereview.chromium.org//232213003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34903 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 23:42:58 +00:00
hausner@google.com
42a63f1844
Fix dart2js test expectations
...
Review URL: https://codereview.chromium.org//231953002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34898 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 21:15:42 +00:00
scheglov@google.com
e5652e0e90
New analyzer snapshot with MapIterator.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//229653004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34891 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 20:18:01 +00:00
hausner@google.com
6051d21b5c
Conflicting inheritance from superinterface is not a compile time error
...
Test override_inheritance_mixed was partially wrong.
Inheriting conflicting members from superinterfaces is not a compile time error,
just a static type warning.
See also bug 16137 for details.
R=gbracha@google.com
Review URL: https://codereview.chromium.org//230423004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34883 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 17:43:14 +00:00
whesse@google.com
9965700b95
Rename language/disasssemble_test, add to status file.
...
BUG=dartbug.com/18122
R=kustermann@google.com
Review URL: https://codereview.chromium.org//230173006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34879 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 14:29:48 +00:00
johnniwinther@google.com
eaad3cd8b2
Handle type checking of generic compile time constants.
...
BUG=http://dartbug.com/14348
R=karlklose@google.com
Committed: https://code.google.com/p/dart/source/detail?r=32154
Review URL: https://codereview.chromium.org//146733003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34871 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 11:14:04 +00:00
johnniwinther@google.com
fbe2b8bcc7
Compute frontend/backend specific constants.
...
BUG=
R=floitsch@google.com , karlklose@google.com
Committed: https://code.google.com/p/dart/source/detail?r=34811
Review URL: https://codereview.chromium.org//221873002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34862 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 07:40:54 +00:00
sra@google.com
1eab259990
map_literal4_test works only in checked mode
...
TBR=floitch@google.com
Review URL: https://codereview.chromium.org//229553002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34847 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 22:43:11 +00:00
hausner@google.com
e86954ab57
Placate analyzer
...
Review URL: https://codereview.chromium.org//229543002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34846 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 22:40:18 +00:00
hausner@google.com
625b564a4b
Fix instance method resolution with abstract accessors and methods
...
Fix issue 18082
R=gbracha@google.com , regis@google.com
Review URL: https://codereview.chromium.org//227703010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34845 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 22:14:24 +00:00
sra@google.com
200aad53d1
Redo "Construct literal maps using factory constructor."
...
TBR=floitsch@google.com
Review URL: https://codereview.chromium.org//228293008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34841 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 20:51:47 +00:00
sra@google.com
aa38fdd15b
Revert "Construct literal maps using factory constructor."
...
TBR=floitsch@google.com
Review URL: https://codereview.chromium.org//229083002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34837 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 19:54:40 +00:00
sra@google.com
ba331a66ce
Construct literal maps using factory constructor.
...
Fixes issue 12891
R=floitsch@google.com
Review URL: https://codereview.chromium.org//228063002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34836 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 19:38:05 +00:00
johnniwinther@google.com
eb2cc7614b
Revert "Compute frontend/backend specific constants."
...
This reverts commit r34811.
BUG=
Review URL: https://codereview.chromium.org//226953003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34816 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 10:18:09 +00:00
johnniwinther@google.com
33c86b9fcd
Compute frontend/backend specific constants.
...
BUG=
R=floitsch@google.com , karlklose@google.com
Review URL: https://codereview.chromium.org//221873002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34811 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 07:11:45 +00:00
jwren@google.com
3f6af0d71a
Fix for 15979- class aliases now have missing concrete members warnings generated on them.
...
This CL also changes the ErrorVerifier.visitClassTypeAlias() method to more closely resemble ErrorVerifier.visitClassDeclaration(), a change is made to tests/lib/mirrors/abstract_class_test.dart, and a bug issue is fixed in TestTypeProvider.
Is there a better way to indicate that there is a warning on a line in a test file?
R=scheglov@google.com
Review URL: https://codereview.chromium.org//224963016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34802 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 23:30:05 +00:00
hausner@google.com
2b4e3c7c99
Implement deferred constant support
...
Compile time constants lose their const-ness if they are referred
to through a deferred prefix. This CL adds a flag to some ast node
types that remembers whether a field or closure was referred to
via a deferred prefix. If so, the compile-time const analysis flags
the value as non-const.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//226953002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34785 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 17:31:32 +00:00
regis@google.com
91388a5f79
Simplify and fix instantiation of recursive types.
...
Add tests for non-contractive types.
Cleanup language tests status file.
Enhance tracing of type finalization.
R=hausner@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//224793002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34739 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 18:27:53 +00:00
karlklose@google.com
db46884a14
Emit classes that are only referenced by type literals.
...
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//224723009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34732 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 12:57:14 +00:00
jwren@google.com
c38bb2fc79
Fix for 16134- class members modify the set of members that are inherited from superclasses.
...
As part of this fix, 4 tests now fail in the language test, issue 17983 was created with the bug, and failing tests are also introduced to show the issue.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//223033002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34707 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-03 17:39:04 +00:00
zra@google.com
2fe51715e5
Begins work on ARM64, first assembler test.
...
Most new code is in constants_arm64.h and
{assembler,disassembler,simulator}_arm64.{h,cc}
The rest of the CL just #def's out tests, modifies status files,
and adds UNIMPLEMENTED functions, etc.
R=regis@google.com
Review URL: https://codereview.chromium.org//221133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34654 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:39:32 +00:00
scheglov@google.com
6da7a82a20
Fix for translation of \!= to \!identical(), but use == and \!= for Enum.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//221483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34636 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 03:09:22 +00:00
jwren@google.com
7ee7453157
Fix for 16133.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//218993013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34603 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 17:28:31 +00:00
hausner@google.com
b36457263a
Deferred prefix support in metadata
...
Deferred prefixes are never ok in metadata, since metadata is required
to be compile time constant.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//219473007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34601 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 16:11:28 +00:00
karlklose@google.com
dfc000bd0c
Adjust dart2dart test expectations after r34567.
...
R=sigurdm@google.com ,hausner@google.com
Review URL: https://codereview.chromium.org//220233004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34586 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 07:59:01 +00:00
hausner@google.com
18f8f69400
Fix analyzer test expectations
...
Deferred loading not yet supported by analyzer.
Review URL: https://codereview.chromium.org//219833002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34568 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-31 18:24:42 +00:00
hausner@google.com
5ac76b37e9
Test for deferred prefix dependent code invalidation
...
Checks that an optimized method that contains code referring
to an unloaded prefix is properly invalidated.
R=iposva@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//219663002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34567 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-31 18:15:31 +00:00
hausner@google.com
ed24226376
Support deferred library prefix syntax
...
First step towards deferred library support:
- Parse the “deferred as” import clause.
- Implement p.loadLibrary() which returns a future that
completes when the library is loaded.
- Treat type annotations of deferred types as malformed.
- Throw NoSuchMethodError when calling functions from
unloaded libraries.
- Libraries are still read synchronously, but items in the
library won’t be visible through the deferred prefix until
the future returned by loadLibrary() completes.
Review URL: https://codereview.chromium.org//208323015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34481 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 21:20:47 +00:00
karlklose@google.com
b34d784129
Correctly recognize type literals in literal lists and maps in an invocation context.
...
R=johnniwinther@google.com
BUG= http://dartbug.com/17777
Review URL: https://codereview.chromium.org//214373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34464 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 07:40:13 +00:00