Commit Graph

602 Commits

Author SHA1 Message Date
asiva@google.com a576fec3c0 Allow the native resolver to setup whether it needs the Dart API scope to
be setup automatically or not when a native function is invoked.
This would allow the embedder to treat some native functions as leaf
functions whose invocation can be very light.

R=hausner@google.com, zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31286 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 17:47:56 +00:00
asiva@google.com 64a261fbbd Changes to interpret the optimizable bit based on whether the function
is native or not.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31207 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 22:07:41 +00:00
regis@google.com fb6d24945f Introduce class TypeRef in the VM to fully support recursive types.
Fix issues 15244, 15148, 14869, 14000, and 13688 (was closed, but fragile).

Note that the current solution is not final as it may not be correct in more
complex cases not yet covered by language tests.
The final solution will require a 'trail' instead of a simple mark bit to
prevent operations involving recursive types to diverge.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31087 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-11 22:51:19 +00:00
hausner@google.com cea1acc8a1 Fix assignable syntax analysis
My previous change has a bug in it that I didn’t trip over
because I ran test with a version that masked the assertion with
a compilation error.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30909 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 19:15:00 +00:00
hausner@google.com 2e3b0fd8bf Detect illegal assignable expressions
The AST cannot distinguish between (x) and x. Adding a check
to the VM compiler that detects syntactically illegal assignments
like (x) = 0. The existing checks only analyze the AST so we
didn’t detect some illegal cases.

Looking at the source to detect syntactically illegal left hand
expressions is a bit ugly because we can’t easily look at
previous tokens. This change rewinds the token iterator a few
positions and then moves forward to check whether the last token
of the expression is an identifier or a closing bracket ].

Added new test. We did not have a single test case for this :)

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30904 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 18:15:21 +00:00
fschneider@google.com cd54507fc2 Mark native functions when they are created.
Until now the parser marked native functions as native when parsing.

This may be too late for some functions. E.g. the native typed list
constructor may not be invoked because the intrinsic code is executed
instead (unless for example new-space allocation fails).

This causes missing type information when optimizing functions using
those recognized factory functions like Uint8List._new.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30846 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-04 10:32:43 +00:00
regis@google.com d1e945994e Improve type test and type equality for generics (issue 15148).
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30546 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-21 21:30:51 +00:00
rmacnak@google.com 307dfe1bde Fix crash evaluating metadata with super in a const constructor argument.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30491 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-21 00:11:31 +00:00
rmacnak@google.com f76f7f7ecf Handle undefined field/getter access from arguments to const constructors in metadata, and related problematic cases.
BUG=http://dartbug.com/13817
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30385 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 01:02:26 +00:00
regis@google.com db2cec593d Distinguish between malformed and malbounded types more efficiently using the
recently introduced LanguageError 'kind' field.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30383 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-18 23:31:12 +00:00
regis@google.com 2a355a7bb6 Lazily format LanguageError messages (fix issue 15069).
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30308 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 18:54:24 +00:00
regis@google.com 694401d38e Rename mixin typedef to mixin application alias in VM.
R=hausner@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30277 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 17:42:39 +00:00
kmillikin@google.com 2a87b7eb94 Simplify the desugaring of catch clauses.
Rather than if/then/continue (where the continue does not match the
semantics of Dart's continue), use if/then/else.  This removes the
unnecessary goto and label as a step toward streamlining support for
jumping in the compiler backend.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30227 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 14:08:11 +00:00
regis@google.com e3da5e16e4 Check type bounds of redirecting factories (issue 14699).
Add tests for malbounded redirecting factories.
Clean up bound checking code and type error reporting code.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30177 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 22:59:48 +00:00
hausner@google.com 6f95dbae2e Fix try-catch for sure
Fix scoping of user-defined exception and stack trace variables in
catch clause.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30003 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 22:07:31 +00:00
hausner@google.com 2139b9d5f0 Undo change 29900
Undo a gratuitous change to the parser.

@kmillikin: please at least be courteous enough to ask one of the front-end
authors to review a change that is not a pressing issue, such as style preferences.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29954 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 01:21:32 +00:00
hausner@google.com ef16a556ae Revert 29947
Review URL: https://codereview.chromium.org//60343006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29949 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 00:33:36 +00:00
hausner@google.com e96a4fc5ba Fix scoping of catch clause variables
Fix recent regression in try-catch and fix scoping of exception
object and stack trace variable. Add test to ensure shadowing of
these variables is possible.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29947 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 00:05:25 +00:00
regis@google.com 528a7ce3d9 Complete latest spec changes regarding malformed types (see issue 14006).
Update language tests and mark them as failing in dart2js as appropriate.
Mark a few co19 tests as failing.
Mark a dart2js test as failing due to unresolved types.

Unfortunately, https://codereview.chromium.org/53583003/ was uncomplete and
missed a few mappings of malformed types to dynamic.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29924 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 18:46:13 +00:00
kmillikin@google.com a59e0881cf Clean up Parser::ParseTryStatement in the VM.
Streamline the implementation, factor out repeated code, rename some cryptic
identifiers, and fix a misspelling.

Also, disentangle an implicit include dependency: class_finalizer.cc was
getting code_generator.h implicitly from something included (unnecessarily
as it turns out) by parser.h.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29900 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 12:49:14 +00:00
kmillikin@google.com caded68c92 Flatten the AST for try/catch.
Flatten a pair of blocks where the outer one is solely used to hold
the bindings of the parameters and to contain the inner one.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29889 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 11:20:59 +00:00
hausner@google.com 1b87d7e2bd Compile time error on forward references to functions
Like variables, names of functions must not be referenced
before they are declared.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29835 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-04 18:53:58 +00:00
iposva@google.com 9869227f25 - Remove support for the non-used Dart_kLibraryTag in the C API.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29822 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-04 17:27:11 +00:00
fschneider@google.com 91ca330ac8 VM: Fix initialization of statics in presence of exceptions.
In a static- or top-level variable v

var v = expr
static v = expr

If the initializer expression expr throws, the VM throws a
CyclicInitializationError when loading v afterwards, even though
this has nothing to do with cyclic initialization.

I'm changing the way implicit static getters and static initializers are
compiled. Static initializers are invoked from static getters.

They look as follows:

get:v {
  if (field.value === transition_sentinel) {
    field.value = null;
    throw new CyclicInitializationError();
  }
  if (field.value === sentinel) {
    field.value = transition_sentinel;
    init:v();
  }
  return field.value;
}


init:v {
  try {
    field.value = expr;
  } catch {
    if (field.value === transition_sentinel) {
      field.value = null;
    }
    rethrow;
  }
}

BUG=http://dartbug.com/5802
TEST=language/lazy_static3_test,
language/throwing_lazy_variable_test,
co19/Language/12_Expressions/30_Identifier_Reference_A08_t02

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29797 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-04 10:08:47 +00:00
hausner@google.com c96bc29ab5 Compile time error if name is used before variable is declared
Implement proper semantics if a name has been referenced in a
block and later a variable with that same name is declared.

Fix library code that was wrong.

Add new language test, delete a couple of tests that are
outdated, file co19 bug 649.

Dart2js and dart2dart are not yet implementing these compile-time
errors.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29770 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-01 21:28:31 +00:00
fschneider@google.com a037e4874b Fix bug with guarded fields and deserialization.
Since deserialization does not involve the normal object construction
procedure, any values written there won't be reflected in the guarded field
type. This results in incorrect optimized code because deoptimization of
dependent code objects in not triggered.

This CL adds tracking of field types and guarded list length when creating
objects via deserialization.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29741 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-01 10:39:09 +00:00
rmacnak@google.com 9a41994d31 Handle metadata with qualified identifiers.
BUG=http://dartbug.com/11857
BUG=http://dartbug.com/14652
R=gbracha@google.com, hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29720 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-01 01:19:31 +00:00
asiva@google.com 545bec0843 Cleanup StaticResolveType, it does not seem to be used anywhere.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29696 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 20:41:59 +00:00
fschneider@google.com ce9573722c VM: Fix checked mode crash (issue 13831).
The AST for static getters differs between parsing the first time, and
subsequent parsings. This leads to a mismatch in deoptimization-ids
between the optimized and the unoptimized code.

This CL avoids creating different ASTs for the same static getters. To allow
better inlining of these getters, the initialization expression is wrapped in a
hidden static initializer-function. As a result the size of such getters is
constant and does not depend on the initializer expression.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29680 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 16:49:55 +00:00
sgjesse@google.com 36a67fa046 Implement fromEnvironment on bool, int and String
This implements const constructor fromEnvironment on bool, int and
String.

The VM have the added -Dname=value option to define the value for the
properties. All values are provided by using the -D - nothing is read
from the environment.

If the resulting value is null or - in the case of int.fromEnvironment
- not a number an ArgumentError is thrown.

This CL does not have any implementation for dart2js.

This is a continuation of the change
https://chromiumcodereview.appspot.com/24975002 by iposva@
BUG=
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29642 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 05:46:57 +00:00
regis@google.com 3fa7a61efc Implement latest spec changes regarding malformed types (see issue 14006):
- a malformed type used in a is, as, or catch type test results in a dynamic
  type error being thrown.
- a malformed type is not mapped to dynamic anymore.

For now, this applies to type tests in checked mode as well, but discussion is
still on-going.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29608 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-30 23:30:32 +00:00
regis@google.com 65379851a8 Implement stricter rule about self referencing typedefs (fix issue 13675).
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29460 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 17:04:21 +00:00
hausner@google.com e02652a123 Throw CyclicInitializationError instead of string
For some reason, I had to regenerate the snapshot for test standalone/issue14236_source.dart. The checked-in snapshot crashed with my change. We don't know yet why. Siva is looking at this separately.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29397 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-28 21:38:57 +00:00
regis@google.com e9b01ccf7b Disallow explicit parameter default values in redirecting factory (issue 13662).
Add language test.
Fix usage in core lib.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29298 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 23:02:48 +00:00
regis@google.com 20badfb06e Register synthesized mixin application classes in the library and reuse them
when possible (fix issue 14318).

R=asiva@google.com, hausner@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29276 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 19:46:32 +00:00
hausner@google.com 07c06be8e7 It's a compile-time error if a const constructor call fails
Making it a compile-time error if a const constructor call
fails. Also improve error message when invoking dart code during
compilation fails.

Fixes issue 14302

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29212 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 21:42:39 +00:00
hausner@google.com cf4da8d1d9 Properly report error for certain expressions that must be const
Issue error message instead of hitting assertion for an expression that
contains an assignment but is expected to be const.

Fixes security issue 13941

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29194 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 18:54:52 +00:00
hausner@google.com ddd9907e23 Implement type checks for switch expression
If the switch expression is not compatible with the case clause
constants, we must report a runtime error. Implement this by annotating
the temporary variable holding the switch expression with the correct
type.

Issue 7274

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29126 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-23 21:15:25 +00:00
iposva@google.com d369b7a0c9 - Ensure that the token stream from generated source matches the
original token stream in the presence of combinations of
  multiline string and string interpolation. If not this will
  cause mismatches when accessing code snippets, e.g when
  reporting parser errors or assertions.
- Ensure that ScanAll and ScanTo are in sync when adding or
  counting tokens.
- Added unit test for multiline strings and interpolation.
- Expanded GenerateSource unit test to iterate through all
  loaded libraries.
- Do not report columns for compilation errors in snapshotted
  code.
- Do not report columns from exceptions and errors when dealing
  with snapshotted code.
- Remove length field from TokenDescriptor. It was unused.
- Remove TokenStream::ComputeTokenPosition. It was unused.

R=fschneider@google.com, hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29110 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-23 19:08:36 +00:00
fschneider@google.com 77669aac3e Fix VM issue 1372: super constructor invocation with redirection.
A redirecting super constructor simply passes the phase parameter
on to the target which executes the corresponding phase.

BUG=https://code.google.com/p/dart/issues/detail?id=1372
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29097 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-23 16:18:20 +00:00
fschneider@google.com a61e701da3 VM: Fix evaluation order when throwing an AbstractClassInstantiationError.
BUG=https://code.google.com/p/dart/issues/detail?id=13420
TEST=Language/12_Expressions/12_Instance_Creation/1_New_A06_t12
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29088 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-23 15:29:02 +00:00
regis@google.com 3e8c130227 Fix language tests for redirecting factories (issue 14297).
Use target constructor name in redirecting factory errors.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29045 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-22 22:36:42 +00:00
regis@google.com 9ec07853c5 Report correct error message in case of super invocation (fix issue 8208).
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29042 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-22 22:12:07 +00:00
hausner@google.com e7255e091a Do not generate a compile-time error if there is more than one catch-all clause
This includes catch clauses with malformed types, which are essentially
catch-all clauses.

The spec does not mandate such a compile-time error. (It probably did a long
time ago.)

Fixes issue 8601, 12159, 13019

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28999 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-22 15:44:28 +00:00
hausner@google.com dbe0e4c9b4 Allow string literal concatenation in import clauses
Added benefit: if there is no interpolation in any of the adjacent
string literals, the compiler concatenates the strings without
invoking Dart code.

Fixes issues 12521, 6877

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28964 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-21 22:13:42 +00:00
hausner@google.com 0e099ff048 Check that class member names do not conflict with type parameters
Implement check that member names do not conflict with type
parameters. Simplify name checks in class namespace.
Mark typevariable_mirror_metadata_test as failing now that we
report the proper compile time errors. (The test expects no errors.)
Some co19 tests expect a name conflict between a setter X= and type
parameter X. This is still in flux from a language perspective. This
change list does not introduce an compile error for this case.

Fix for issue 13701.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28808 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-17 17:39:08 +00:00
srdjan@google.com b83bda9e0e Add new style of string interpolation optimization: new nodes, working constant folding.
TODO: partial constant fold of incoming arguments.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28741 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-16 18:12:08 +00:00
fschneider@google.com ed801a1b2f VM: Fix bug with evaluation order of static setter invocation.
This fixes the case for an assignment of the form
v=e
where v is unknown. The right-hand side of the assignment
has to be evaluated before throwing a NoSuchMethodError.

I moved the generation of the NoSuchMethodError out of
the parser to the flow-graph builder, where the right-hand side
argument is evaluated before throwing.

BUG=https://code.google.com/p/dart/issues/detail?id=13494
TEST=co19/Language/12_Expressions/18_Assignment_A01_t07
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28723 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-16 13:07:58 +00:00
regis@google.com 2d59eb0cb1 Throw a dynamic type error instead of a CastError in a type cast with a
malbounded type (fix issue 14123).
Regression test is not checked in yet (see https://codereview.chromium.org/27378002/)

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28698 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-16 00:38:55 +00:00
hausner@google.com c646aed258 Implement new mixin application syntax
Implment the class X = S with M syntax, add warning on deprecated
typedef syntax. Also convert a handful of tests. More tests to
be converted subsequently.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28652 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-15 16:13:02 +00:00