Commit Graph

226 Commits

Author SHA1 Message Date
floitsch@google.com 5434a80bd3 Set defineProperty writeable: true.
With "writeable: false" IE disallowes shadowing definitions.

Review URL: https://chromiumcodereview.appspot.com//10356096

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7491 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 15:03:54 +00:00
floitsch@google.com f820500d75 Assign a short name to private variables (first one wins).
Review URL: https://chromiumcodereview.appspot.com//10386071

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7489 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 14:33:58 +00:00
floitsch@google.com 10c3811ea4 Don't emit dangling comma in object literal.
Review URL: https://chromiumcodereview.appspot.com//10388069

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7488 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 13:51:49 +00:00
floitsch@google.com f686f9aa49 The shift-amount must not be anded with 31.
In JS x >> y is equivalent to x >> (y & 31). Dart's semantics is
different.

Review URL: https://chromiumcodereview.appspot.com//10356095

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7486 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 12:56:41 +00:00
lrn@google.com 8a73514c3d Add a "Label" Node around an Identifier that is being used as a label.
This is in preparation for rewriting switch to match the "new" switch grammar.
I need to make a block information structure for switch statements, and I don't
want to do that on an obsolete structure.

Review URL: https://chromiumcodereview.appspot.com//10392024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7485 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 12:23:45 +00:00
floitsch@google.com 680828d563 Make sure all loop-phis are declared.
Review URL: https://chromiumcodereview.appspot.com//10386047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7484 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 11:30:42 +00:00
lrn@google.com 4099bd095e Undo optimization in cases where NaN might be involved.
Review URL: https://chromiumcodereview.appspot.com//10332088

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7483 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 11:06:11 +00:00
ahe@google.com 7d4e36d66d Fix broken assertion.
Review URL: https://chromiumcodereview.appspot.com//10386044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7463 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 14:31:04 +00:00
ahe@google.com 6809cd37ff Implement --help option and generalize option parsing.
Review URL: https://chromiumcodereview.appspot.com//10383086

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7461 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 14:24:29 +00:00
floitsch@google.com 29678aefe6 Generate getters and setters dynamically.
Review URL: https://chromiumcodereview.appspot.com//10310060

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7460 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 14:11:29 +00:00
floitsch@google.com 9efd760193 Fix type-warning.
Review URL: https://chromiumcodereview.appspot.com//10332069

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7459 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 13:20:12 +00:00
ahe@google.com 7bb512670a Remove unneeded types.
Review URL: https://chromiumcodereview.appspot.com//10332072

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7458 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 13:00:20 +00:00
ahe@google.com b8c5fb9177 Don't parse factory keyword as a type.
Review URL: https://chromiumcodereview.appspot.com//10382084

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7457 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 12:40:05 +00:00
ngeoffray@google.com 5bb10f0b27 Fix typo spotted by VM in checked mode.
Review URL: https://chromiumcodereview.appspot.com//10387036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7456 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 12:33:18 +00:00
ngeoffray@google.com 7bcb21aab9 Fix typo when generating a not boolified input.
Review URL: https://chromiumcodereview.appspot.com//10310076

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7455 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 12:18:43 +00:00
ngeoffray@google.com dd67209cf9 Call 'use' instead of 'visit' on the input when generating code for an unchecked HTypeConversion.
Review URL: https://chromiumcodereview.appspot.com//10332070

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7454 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 12:15:05 +00:00
ngeoffray@google.com 51e7c80212 Fix typing spotted by checked mode.
Review URL: https://chromiumcodereview.appspot.com//10310075

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7452 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 11:54:29 +00:00
ngeoffray@google.com aba0ced437 Start creating a MemberSet abstraction, and use it to fold getters/setters into field accesses.
Review URL: https://chromiumcodereview.appspot.com//10383065

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7451 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 11:51:46 +00:00
ngeoffray@google.com 597b481aeb Manually check if a constructor has no body in the backend: either ends with ';', or has not statements in '{}'.
Review URL: https://chromiumcodereview.appspot.com//10387034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7450 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 11:38:10 +00:00
karlklose@google.com 62dd717be3 This fixes a wrong warning about void functions in which not all paths leads to return or throw statement.
TEST=added to type_checker_test
R=ngeoffray@google.com

Review URL: https://chromiumcodereview.appspot.com//10387033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7449 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 11:12:42 +00:00
floitsch@google.com 5780b25f60 Sort the output (for now just the classes and instance members).
Review URL: https://chromiumcodereview.appspot.com//10310040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7447 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 10:55:27 +00:00
lrn@google.com 5800641cfe Add missing return statement.
Causes a type error when running in checked mode because the returned null
isn't a boolean, and it's used in an if-statement.

Review URL: https://chromiumcodereview.appspot.com//10356067

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7445 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 10:28:38 +00:00
ngeoffray@google.com ef044fac07 Avoid inserting new temporaries because of HTypeConversion nodes.
Review URL: https://chromiumcodereview.appspot.com//10383062

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7421 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 16:12:16 +00:00
floitsch@google.com 7672f5b74d Fix findMyName by comparing the kind and not the token to EOF_TOKEN.
Review URL: https://chromiumcodereview.appspot.com//10378033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7416 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 14:14:34 +00:00
floitsch@google.com 8f84e326cd Fix bad precedence for >>> operator.
We use >>> to get positive bit-operations. However the precedence framework
was used incorrectly leading to missed parenthesis.

Review URL: https://chromiumcodereview.appspot.com//10378047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7414 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 13:04:02 +00:00
lrn@google.com 5d5117aac7 Wrap block-informations when embedding them in the graph.
The following block is now stored in the wrapper, not in the block information,
since its only relevant for the graph based iteration.

Also split HLoopInformation into the original HLoopInformation and the block-
based HLoopBlockInformation.

Review URL: https://chromiumcodereview.appspot.com//10384027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7413 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 13:00:21 +00:00
lrn@google.com a27e3c4274 Prettify !(x rel-op y) into (x "!rel-op" y) when possible.
Relational operators are equality, identity, and gt[e]/lt[e].

Review URL: https://chromiumcodereview.appspot.com//10356053

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7410 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 12:47:39 +00:00
lrn@google.com 42295eaa60 Don't allow phi equivalences along back-edges.
Avoids problem in http://code.google.com/p/dart/issues/detail?id=2913
by breaking equivalences that go around a loop.

BUG=2913

Review URL: https://chromiumcodereview.appspot.com//10375048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7407 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 09:22:15 +00:00
ngeoffray@google.com de9953c9a3 Fix regression on constant folding an interceptor into a dynamic invocation.
Review URL: https://chromiumcodereview.appspot.com//10310037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7405 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-08 08:12:42 +00:00
rnystrom@google.com 3fbf666bd7 Revert "Using arg parsing lib for dart2js."
This reverts commit 825af47550b15b336d133ea466b3a547737e79be.

Review URL: https://chromiumcodereview.appspot.com//10383049

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7394 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 18:54:14 +00:00
rnystrom@google.com f547fb72c8 Using arg parsing lib for dart2js.
Review URL: https://chromiumcodereview.appspot.com//10377023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7392 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 18:23:59 +00:00
floitsch@google.com 80f0a1ddec Shorten line that was too long.
Review URL: https://chromiumcodereview.appspot.com//10388006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7379 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 14:15:50 +00:00
floitsch@google.com 4175431008 Create the JavaScript constructor dynamically.
Review URL: https://chromiumcodereview.appspot.com//10344021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7376 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 13:40:41 +00:00
ngeoffray@google.com 4e3f5102f9 Start implementing checked mode and tools support for using it.
Review URL: https://chromiumcodereview.appspot.com//10353014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7375 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 13:18:21 +00:00
karlklose@google.com e205b4fdb0 Compute function types together with the parameters.
This avoids resolving the types of arguments twice.

Review URL: https://chromiumcodereview.appspot.com//10363003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7374 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 12:33:09 +00:00
karlklose@google.com 61f38fde3b Set the right context to resolve types of fields, closures and parameters.
R=ngeoffray@google.com

Review URL: https://chromiumcodereview.appspot.com//10349008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7373 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 12:16:59 +00:00
floitsch@google.com f7a30365aa Emit defineClass function only if it is used.
Review URL: https://chromiumcodereview.appspot.com//10381033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7372 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 12:10:47 +00:00
ngeoffray@google.com b72612d64e Revert r7368: parseMember should only be used for partial parsing.
Review URL: https://chromiumcodereview.appspot.com//10378030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7370 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 10:28:19 +00:00
ngeoffray@google.com 6686399005 Fix return type spotted by VM on checked mode.
Review URL: https://chromiumcodereview.appspot.com//10384032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7369 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 09:57:52 +00:00
ngeoffray@google.com a96cfadaa1 Remove warning that 'facotry' is not a type annotation.
Review URL: https://chromiumcodereview.appspot.com//10332032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7368 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 09:49:57 +00:00
floitsch@google.com a912bd23ac Indentation change for define-class.
Review URL: https://chromiumcodereview.appspot.com//10352008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7366 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-07 08:46:10 +00:00
cshapiro@google.com 4ad6942ef1 Fix breakage in the JavaScript compilers.
This change adds a mock "Uint8List" to dart2js, suppresses the new byte
array test on Frog, and renames interface parameters for dartc.

Review URL: https://chromiumcodereview.appspot.com//10383023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7355 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-05 00:07:25 +00:00
sra@google.com 6bee318652 IE browser compat for CanvasPixelArray and HTMLPhraseElement
Review URL: https://chromiumcodereview.appspot.com//10302015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7299 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 20:12:43 +00:00
floitsch@google.com 7b3cbcda6f Create isolate constructor dynamically.
This should remove the huge speed regression we got by adding
'defineClass'.

Review URL: https://chromiumcodereview.appspot.com//10363002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7289 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 15:50:05 +00:00
ager@google.com e6b2635059 Change Platform members to getters instead of methods.
R=sgjesse@google.com
BUG=dartbug.com/1668
TEST=

Review URL: https://chromiumcodereview.appspot.com//10351011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7282 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 13:16:33 +00:00
floitsch@google.com 30ef5c19d0 Make bit-operations return a positive result.
Fixes issue 2725 (as much as we can fix it).

Review URL: https://chromiumcodereview.appspot.com//10343002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7278 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 12:50:21 +00:00
floitsch@google.com 34e21874de Make sure that we don't assign phis before its uses.
Review URL: https://chromiumcodereview.appspot.com//10342002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7276 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 12:28:08 +00:00
kasperl@google.com 509a727216 Add support for --no-colors to make it easier to integrate dart2js in the editor.
R=ahe@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10331010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7268 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 07:14:34 +00:00
karlklose@google.com 78736ddda9 Remove getType; use the resolver instead.
Review URL: https://chromiumcodereview.appspot.com//10270010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7250 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 18:22:32 +00:00
floitsch@google.com 4ed49434ae Remove dead code.
Review URL: https://chromiumcodereview.appspot.com//10304010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7236 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 13:28:25 +00:00