scheglov@google.com
54c5f79d42
Check that interface constructors and default class constructors are compatible.
...
1. Number of required parameters.
2. Names and order of named parameters.
3. [disabled] type warning for non-identical types.
4. [wait for Eric, not implemented] type parameters check.
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8786002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2124 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 14:58:16 +00:00
devoncarew@google.com
21e0fc247c
Added code to associate a dart doc comment with a dart declaration node.
...
Review URL: http://codereview.chromium.org//8769044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2090 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 21:15:28 +00:00
mmendez@google.com
734ac5a5a4
JS tree shaking for incremental builds.
...
This patch does two things:
1) Introduces the infrastructure that is needed by dart-level tree shaking so that it can properly deal with native JS code and thereby prune both dart and JS code.
2) Leverages the infrastructure above to enable JS-level tree shaking of the output of incremental builds by default. Non-incremental builds are not impacted and neither are libraries without entry points.
Prior to this patch an empty application compiled to 558,508 bytes, but with it the size is reduced to 103,679 bytes. It is important to note that the large lower bound is driven by the dependency chain introduced by isolate$processWorkerMessage in corelib/implementation/isolate.js.
For applications like total the savings are much bigger. Prior to this patch Total compiled to 12,151,122 bytes, but with it the size is reduced to 3,758,174. For an app the size of total this additional tree shaking takes about 2 seconds.
Once this patch lands the plan is to thread it into the pending dart-level tree shaking work if needed. This second arc of work will allow us to further compress the output during non-incremental builds by eliding RTT, native JS code, dart methods exposed to native JS code and do dead code elimination.
Review URL: http://codereview.chromium.org//8676041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2077 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 16:12:08 +00:00
mmendez@google.com
0a54d3b612
Revert r2061.
...
r2061 caused a OOME in one of the co19 tests in debug mode for dartc and caused one of the dart editor tests to fail. Rolling back while I take a look.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2062 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 03:30:08 +00:00
mmendez@google.com
01999e7f7d
Patched change from bad branch.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2061 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 03:13:01 +00:00
mmendez@google.com
5e54419eb9
Revert r2058 - incomplete commit.
...
TBR=codefu,fabiomfv,zundel
Review URL: http://codereview.chromium.org//8799003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2060 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 02:50:42 +00:00
mmendez@google.com
6456939045
I run the JS treeshaking and pass the complete file size.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2058 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 02:43:43 +00:00
zundel@google.com
7e210b682a
Trying to unbreak dart editor build - new use of rollback messes up code completion
...
Review URL: http://codereview.chromium.org//8788001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2038 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-02 22:18:17 +00:00
brianwilkerson@google.com
d8d90a89de
Add support for ignoring a string after the native keyword in a method, needed for compatability with frog
...
Review URL: http://codereview.chromium.org//8769023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2029 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-02 18:55:49 +00:00
zundel@google.com
f8c0479aaf
Parse method names that include type variables.
...
As a first step to allow factory methods to specify type variables, this
allows the parser to accept statements similar to the form:
class A {
factory B<T>.create() { }
}
http://code.google.com/p/dart/issues/detail?id=417
Committed: https://code.google.com/p/dart/source/detail?r=2004
Review URL: http://codereview.chromium.org//8774024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2024 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-02 14:50:10 +00:00
zundel@google.com
8455d926f6
Parse method names that include type variables.
...
As a first step to allow factory methods to specify type variables, this
allows the parser to accept statements similar to the form:
class A {
factory B<T>.create() { }
}
http://code.google.com/p/dart/issues/detail?id=417
Review URL: http://codereview.chromium.org//8774024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2004 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 23:46:25 +00:00
zundel@google.com
b721a2962a
Puts JsScope on a diet
...
Lazy initialization of the names field and interning the description field
reduces memory consumption from > 128M to < 64 M in a unit test that was
suffering from OOM problems.
Review URL: http://codereview.chromium.org//8659022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1986 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 15:42:32 +00:00
scheglov@google.com
bb1c53ac58
Fix for resolving interface constructors in factory, issue 521.
...
http://code.google.com/p/dart/issues/detail?id=521
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8747016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1945 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-30 21:37:44 +00:00
mmendez@google.com
61dd161180
Simplify named method trampolines if named parameters are not involved.
...
There is no need to declare seen and def for methods that don't have named arguments. Saves ~25k for an empty app and ~416k for Total.
Review URL: http://codereview.chromium.org//8746017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1938 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-30 19:49:41 +00:00
mmendez@google.com
d63b9d0ad1
Fix recursion bug when adding members to native JS objects.
...
Review URL: http://codereview.chromium.org//8659041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1896 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-29 16:15:18 +00:00
jacobr@google.com
2dbe767ed6
Split html library into html and html_impl
...
BUG=
TEST=
Review URL: http://codereview.chromium.org//8548007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1879 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-28 22:16:54 +00:00
mmendez@google.com
7fb21ee64a
Adds a class for computing the dependencies that a given JS AstNode has.
...
Review URL: http://codereview.chromium.org//8561015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1874 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-28 19:35:15 +00:00
zundel@google.com
6089e32a26
Reduces output & memory usage of compiler by using prototype chain for inherits
...
The setting of $inherits for superclasses in each class is redundant,
since this property is set on the prototype. This reduces the JS output
of co19 test LangSpecTest/13_Types/13_4_Interface_Types/A11/t01 from
43 MB to 1.6 MB.
http://code.google.com/p/dart/issues/detail?id=611
Review URL: http://codereview.chromium.org//8698021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1868 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-28 18:22:21 +00:00
scheglov@google.com
73cf5451f1
Support for parsing returning qualified type. Issue 513.
...
http://code.google.com/p/dart/issues/detail?id=513
R=codefu@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8662019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1805 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-23 18:52:33 +00:00
zundel@google.com
ccad2889cd
Don't allow invoking a constructor as 'const' if it wasn't declared 'const'.
...
BUG=5142545
Review URL: http://codereview.chromium.org//8624001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1751 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-22 17:07:49 +00:00
zundel@google.com
7287d25eac
Makes an error message friendlier when trying to invoke
...
a field as a method.
BUG=395
Review URL: http://codereview.chromium.org//8643001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1750 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-22 16:59:44 +00:00
scheglov@google.com
2f84543a8b
Forgot to commit ParserException
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1669 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 19:03:16 +00:00
scheglov@google.com
e52594eddd
Expect 'extends' in type parameters declaration and recover, issue 341
...
http://code.google.com/p/dart/issues/detail?id=341
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8576007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1668 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 18:58:00 +00:00
zundel@google.com
0ea6fba5fd
Addresses a ClassCastException seen in the editor from MemberBuilder
...
Added a simple test to protect against the class cast exception and a JUnit test to
exercise it.
BUG=413
Review URL: http://codereview.chromium.org//8588038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1663 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 17:49:40 +00:00
mmendez@google.com
f739bfb992
This is not meant to be a general purpose indexer, but it is meant to be sufficient for conservative tree shaking of dartc generated JS code and the native code of the various libraries.
...
Review URL: http://codereview.chromium.org//8486015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1656 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 14:03:33 +00:00
zundel@google.com
5c0361579f
Compile Time Constants cycle check
...
http://code.google.com/p/dart/issues/detail?id=120
This adds a check to compile time constants to make sure there
are no cycles. This turned out to be a bit more difficult than
I had hoped, due to interaction with incremenatal compile, when
only a diet parse tree was available for modules that did not
need a full compile. To fix this, I added a lite resolution step
(CompileTimeConstantResolver) to be performed on all units.
Review URL: http://codereview.chromium.org//8523034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1625 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 20:52:48 +00:00
shauvik@google.com
5491527d87
Added support for dumping AST to console, text file or dot file
...
Review URL: http://codereview.chromium.org//8566019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1587 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 22:33:55 +00:00
codefu@google.com
efcbffc225
Handle NPE case for 'dart:typo'
...
http://code.google.com/p/dart/issues/detail?id=203
R=jwren@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8572026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1553 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 22:36:03 +00:00
scheglov@google.com
f53a4aa109
Report errors for default parameter values, issue 351
...
http://code.google.com/p/dart/issues/detail?id=351
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8564027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1536 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 16:58:28 +00:00
mmendez@google.com
8274140bb5
Sort the file members.
...
TBR=codefu
Review URL: http://codereview.chromium.org//8566008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1512 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-14 16:27:53 +00:00
scheglov@google.com
7cea876fef
Better redirecting constructor and initializers problems reporting.
...
Preparation for work on http://code.google.com/p/dart/issues/detail?id=351
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8527005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1511 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-14 16:18:08 +00:00
scheglov@google.com
88d9638bcb
Convert top level factory into method
...
http://code.google.com/p/dart/issues/detail?id=345
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8506019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1364 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 18:11:04 +00:00
fabiomfv@google.com
f95d52d827
https://code.google.com/p/dart/issues/detail?id=255
...
Review URL: http://codereview.chromium.org//8479041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1317 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-08 15:56:45 +00:00
scheglov@google.com
59a8c89aab
Provide enclosing element (method) for local function object
...
http://code.google.com/p/dart/issues/detail?id=145
1. I've made MethodElement an EnclosingElement to be able to return it from Element.getenclosingElement().
2. I've changed GenerateJavascriptAST.GenerateJavascriptVisitor to use directly method only if it is enclosed with Class, not just any element.
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8479037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1268 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 20:58:40 +00:00
scheglov@google.com
5b2586fd1c
Fix for cyclic declaration
...
http://code.google.com/p/dart/issues/detail?id=348
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8467017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1264 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 16:43:45 +00:00
scheglov@google.com
7d8db52436
Support for --machine-problems, tests for PrettyErrorFormatter
...
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8476005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1261 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 15:06:56 +00:00
danrubel@google.com
1660d0e135
Ensure ClassElementImplementation removed from ThreadLocal set to prevent memory leak
...
Review URL: http://codereview.chromium.org//8477025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1259 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 15:03:12 +00:00
scheglov@google.com
d9ecbeff5b
Support for --machine-problems, tests for PrettyErrorFormatter
...
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8476005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1258 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 14:59:56 +00:00
fabiomfv@google.com
d3f3a9d193
https://code.google.com/p/dart/issues/detail?id=182
...
Dart Spec, section "Type Void" (excerpt):
"On the other hand, it is possible to return the result of a void method from within a void method. One can also return null; or a value of type Dynamic. Returning any other result will cause a type warning (or a dynamic type error in checked mode)." (only reference to the subject - non-normative)
Review URL: http://codereview.chromium.org//8438042
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1200 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 15:00:44 +00:00
scheglov@google.com
220ac6b940
Tweak shouldWarnOnNoSuchType() usage.
...
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8451002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1158 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 18:13:07 +00:00
benl@google.com
57a533314e
Review URL: http://codereview.chromium.org//8403040
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1139 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 10:14:19 +00:00
codefu@google.com
01d80fb5c4
Add negative test for invalid prefixes.
...
Update dartc's parser to validate identifier in string literal.
Add new error code.
http://code.google.com/p/dart/issues/detail?id=266
R=mmendez
BUG=
TEST=
Review URL: http://codereview.chromium.org//8441001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1099 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 16:54:27 +00:00
scheglov@google.com
a2dfac76d7
Make some ErrorCode-s compile-time errors and some just type warnings
...
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8384012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1089 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 13:55:53 +00:00
codefu@google.com
b32b5ceb7f
Constructor parameters should have this.<field> reference elements set.
...
R=brianwilkerson@google.com ,mmendez
BUG=
TEST=
Review URL: http://codereview.chromium.org//8431008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1043 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 21:55:16 +00:00
fabiomfv@google.com
ec78d3fce6
https://code.google.com/p/dart/issues/detail?id=223
...
Review URL: http://codereview.chromium.org//8384018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1036 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 18:42:54 +00:00
codefu@google.com
41a2b62dec
Fix prefix variable parse errors
...
R=floitsch@google.com ,mmendez
BUG=
TEST=
Review URL: http://codereview.chromium.org//8428006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1010 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 13:58:28 +00:00
jat@google.com
502c606b81
Add additional runtime type checks.
...
Review URL: http://codereview.chromium.org//8393015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@975 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 22:09:42 +00:00
scheglov@google.com
d011f459ac
New ErrorCode implementations.
...
R=zundel@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8395013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@841 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 17:22:32 +00:00
mmendez@google.com
959e3573d7
Fixes issue http://code.google.com/p/dart/issues/detail?id=235 .
...
Mismatched type arguments result in an error not a type warning.
BUG=
TEST=
Review URL: http://codereview.chromium.org//8392047
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@821 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 13:33:45 +00:00
fabiomfv@google.com
7816675ba0
https://code.google.com/p/dart/issues/detail?id=225
...
moved CL. LGTM from http://codereview.chromium.org/8390059/
Review URL: http://codereview.chromium.org//8401008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@815 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 12:29:33 +00:00