Commit Graph

409 Commits

Author SHA1 Message Date
Regis Crelier bab552edaf Fix mirrors to keep typedef as scope class of function types (fixes #26187).
Add mirror regression test.
Adjust expectation of a mirror test.
Fix parser to mark current class as typedef before parsing signature.
Fix canonicalization of typedef function types (a typedef class can be the scope
class of more than one function type, even if not generic).

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1890013002 .
2016-04-15 13:21:22 -07:00
Ryan Macnak 71676a1e5b Use exact name lookup for static fields in mirrors.
R=hausner@google.com

Review URL: https://codereview.chromium.org/1877813003 .
2016-04-12 11:15:38 -07:00
Siva Annamalai 341643cb2b Do not compile a class when the class mirror tries to access the metadata.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1834673003 .
2016-03-28 11:16:15 -07:00
Stephen Adams e3810ceff2 Use existing test for reflectClass(List).createInstance(...)
TBR=asgerf@google.com

Review URL: https://codereview.chromium.org/1632163004 .
2016-01-25 21:58:14 -08:00
Stephen Adams 4a01c6a1cf List constructor sentinel must not implement 'int' (extend JSInt).
Having a regular object that 'is' a number was causing horrible problems for type inference and generated code quality.

To get this to work required fixes in type inference and the collection of reified default argument values.

Fixes issue https://github.com/dart-lang/sdk/issues/25566

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1629553002 .
2016-01-25 20:40:39 -08:00
Johnni Winther 306537be79 Add test of unittests.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1562023002.
2016-01-06 13:19:41 +01:00
Ryan Macnak c740fea545 VM: Fix crash parsing metadata with a closure as a const constructor argument.
BUG=http://dartbug.com/25240
R=hausner@google.com

Review URL: https://codereview.chromium.org/1534033003 .
2015-12-17 17:18:01 -08:00
William Hesse 13bf8ff9f8 Breaking Change: merge BoringSSL branch into master
This replaces the NSS secure networking library from Mozilla
with the BoringSSL library from Google. This library, based
on OpenSSL, reads certificates from files in PEM format, rather
than storing certificates and keys in a SQLite database, the
way NSS does. There will be a blog post, changelog entries,
and other documentation of the breaking changes.

Review URL: https://codereview.chromium.org//1319703002 .
2015-08-26 14:42:12 +02:00
Florian Loitsch e42d46a593 Add test that uses function.apply and mirrors in the same file.
The import of mirrors is delayed, so that Function.apply is patched in before it is visible that mirrors are used.

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1274633002 .
2015-08-07 11:20:33 +02:00
Ryan Macnak b6c979f20b Hoist InstanceMirror.delegate to ObjectMirror.
BUG=http://dartbug.com/14827
R=gbracha@google.com

Review URL: https://codereview.chromium.org//1273983002 .
2015-08-05 17:09:59 -07:00
Ryan Macnak db8ed04981 Hack around dart:io being loaded into non-service isolates in Dartium.
BUG=http://dartbug.com/23940
R=asiva@google.com

Review URL: https://codereview.chromium.org//1259893006 .
2015-08-03 16:59:32 -07:00
Ryan Macnak bc90a5e1f0 Fix getField optimization when the selector is an operator.
BUG=http://dartbug.com/23880
R=asiva@google.com

Review URL: https://codereview.chromium.org//1247733005 .
2015-07-22 13:39:07 -07:00
Stephan Herhut 0799e538c3 dart2js: Emit static const fields if accessible by reflections.
BUG= http://dartbug.com/23811
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1225083004.
2015-07-09 13:28:23 +02:00
William Hesse 57765a8929 Ensure correct line endings for method_mirror_source tests.
R=whesse@google.com
BUG=

Review URL: https://codereview.chromium.org//1218813002.
2015-06-29 13:43:57 +02:00
Stephan Herhut 225be75498 Fix some tests and exclude others from CRLF rewriting.
R=whesse@google.com
BUG=

Review URL: https://codereview.chromium.org//1212823002.
2015-06-26 14:40:01 +02:00
Ryan Macnak 98b9ff6a30 Fix reflective NoSuchMethodErrors to match their non-reflective counterparts when due to argument mismatches.
BUG=http://dartbug.com/23266
R=asiva@google.com

Review URL: https://codereview.chromium.org//1182613004.
2015-06-16 09:42:11 -07:00
Ryan Macnak daf6fb6091 Ensure libraries always have at least one top-level class and therefore at least one script.
BUG=http://dartbug.com/23483
R=hausner@google.com

Review URL: https://codereview.chromium.org//1131793012
2015-05-19 08:58:23 -07:00
johnmccutchan@google.com e28075ceb7 Fix invocation_fuzz_test
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45659 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 21:31:47 +00:00
johnmccutchan@google.com a25e355731 Add hasStoppedAtBreakpoint
BUG=
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45532 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:30:19 +00:00
rmacnak@google.com a6e42c48b5 Deal with deferred loading in the VM mirrors.
- Invalidate MirrorSystem.libraries when a load completes.
- Recheck if a deferred import's target has been loaded before failing.
- Allow loading libraries from a LibraryDepedencyMirror.
- Propogate compile-time error when attempting to reflect a deferred type.

BUG=http://dartbug.com/22592
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45444 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 23:47:45 +00:00
rmacnak@google.com 9f56280609 Add asserts that isolates have a root library set up before they become runnable.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45224 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 00:44:47 +00:00
floitsch@google.com 46fa5bf3d0 Fix mirrors/invocation_fuzz_test.
BUG= http://dartbug.com/15566
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45075 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 18:21:30 +00:00
floitsch@google.com ffeedc00bf dart2js: retain constants that are used as annotations in constructors and setters.
BUG= http://dartbug.com/23128
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45064 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 13:10:11 +00:00
paulberry@google.com 81c933ca35 Fix static warning in lib/mirrors/method_mirror_source_test.
TBR=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44976 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 17:00:02 +00:00
rmacnak@google.com 766df03b1b Fix MethodMirror.source when the method is on the first line in a script.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44957 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 01:02:48 +00:00
herhut@google.com f0320957ad Fix length computation on init.mangledNames.
BUG= http://dartbug.com/23054
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44831 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 12:29:24 +00:00
herhut@google.com faa03376b4 Clean up naming scheme for reflection names.
BUG= http://dartbug.com/22987
R=ahe@google.com

Committed: https://code.google.com/p/dart/source/detail?r=44732

Reverted: https://code.google.com/p/dart/source/detail?r=44733

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44736 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 14:43:02 +00:00
herhut@google.com 363b144eae Revert "Clean up naming scheme for reflection names."
This reverts commit r44732.

BUG=
TBR=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44733 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 13:38:50 +00:00
herhut@google.com 7719901f37 Clean up naming scheme for reflection names.
BUG= http://dartbug.com/22987
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44732 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 12:28:04 +00:00
rmacnak@google.com 60fd23bffc Treat functions generated for closurization as equivalent to their source functions.
BUG=http://dartbug.com/22601
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44674 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-24 20:06:40 +00:00
floitsch@google.com 5ae2c0f6e9 dart2js: Emit libraries that are only used for typedefs.
R=zarah@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44452 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 09:55:32 +00:00
koda@google.com 6c11104a31 Update enum mirror test expectation to include hashCode.
TBR=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44279 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-06 04:31:08 +00:00
rmacnak@google.com 8b6a6a1e4f Add ClassMirror.isEnum.
BUG=http://dartbug.com/21718
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44035 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 01:13:50 +00:00
rmacnak@google.com 4abf50c04d Add LibraryDependencyMirror.isDeferred.
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43829 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 23:49:40 +00:00
rmacnak@google.com 511c997316 Implement DeclarationMirror.location for all but ParameterMirrors.
- Mark NativeFieldWrapper classes as synthetic.
- Mark ClassID fields as synthetic.

BUG=http://dartbug.com/22378
R=gbracha@google.com, hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43784 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 23:32:20 +00:00
rmacnak@google.com 63bba8d603 Blacklist Process.killPid in invocation_fuzzer_test.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43491 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 23:50:58 +00:00
rmacnak@google.com 2fb0bb020b Reapply "Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list."
Broken assumption in Dartium fixed in blink r188698.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43053 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 20:44:04 +00:00
rmacnak@google.com ed88ac7f0c Revert "Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list."
Broke Dartium.

TBR=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43026 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 20:56:59 +00:00
rmacnak@google.com 045bd762d7 Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list.
An invisible function is hidden from stack traces, will not be enumerated
by mirrors, and cannot be directly invoked by mirrors. Note that private
classes remain accessible.

Fix a few internal dart:io functions that should be private.

Fix bug where mirrors would enumerate top-level invisible functions.

Mark observatory test that was using such private functions through
mirrors as failing.

BUG=http://dartbug.com/15274
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43019 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 18:32:19 +00:00
sigurdm@google.com b9c1798175 Improve mirror_in_static_init_test
Make it a multitest.
Fix a syntax error.
Also move it to lib/mirrors/ - it will then automatically be skipped by
dart2dart.

BUG=dartbug.com/22071
R=floitsch@google.com, karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42992 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-19 14:52:25 +00:00
asiva@google.com ca1c3241c4 Fix for issue 21398.
Accept only 'literal-like' objects when sending messages to isolates
spawned using spawnURI. Allow all objects for isolates spawned using
spawnFunction.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42793 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 23:14:30 +00:00
regis@google.com 03fa3d1ff4 Mark mutator methods of canonical constants as invisible to reflective access.
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42747 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-09 18:03:31 +00:00
iposva@google.com 2104fd6165 Fix http://dartbug.com/21834
- Ensure that microtasks fire after every timer event, instead
  of being bunched together once all pending timers fired.
- Do not wait for timer message to be delivered. Trigger timers
  as soon as they are ready from within the message handling
  loop.
- Notify timers in the order of wakeup time regardless of
  specified timeout value. (AKA Do not allow Timer.run to
  overtake new Timer() scheduled operations.)

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42673 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 22:21:59 +00:00
regis@google.com cc843c2189 Process two 32-bit digits as one 64-bit digit in all bigint intrinsics on x64.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42607 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 19:44:02 +00:00
rmacnak@google.com 9bdff93aa9 Re-blacklist SystemEncoding: still failing on Windows.
BUG=http://dartbug.com/15274
TBR=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42095 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 00:09:42 +00:00
rmacnak@google.com dd3c1fa32e Remove several entries from invocation fuzzer blacklist.
Add event loop, isolate startup, and symbol helper functions to the invisible list.

Include doubles as a target.

BUG=http://dartbug.com/15274
BUG=http://dartbug.com/20583
BUG=http://dartbug.com/21707
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42092 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 22:08:32 +00:00
fschneider@google.com a49870e721 VM: Remove use of IterableMixinWorkaround from _List, _ImmutableList and _GrowableList.
_List, _ImmutableList and _GrowableList now extend ListBase which uses ListMixin.

Note that typed data lists are still using IterableMixinWorkaround for now.
They will be changed in a separate CL since it involves a few more changes
to the VM.

BUG=dartbug.com/13647
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42061 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 10:38:51 +00:00
rmacnak@google.com 5aff08b9ef Skip more of event loop dispatch in invocation fuzzer to avoid triggering runtime errors we cannot catch.
BUG=http://dartbug.com/21473
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42054 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 22:56:31 +00:00
rmacnak@google.com 77adbe5bca Remove/skip invalid mirror tests.
-class of 1 is not required to declare int as an interface
-owner of members of mixin applications is the mixin
-MirrorsUsed does not have a semantics

R=gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41540 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-06 01:10:33 +00:00
regis@google.com 30dce6a5d1 Fix issue 21474 in mirrors.
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41453 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-31 23:16:11 +00:00