Commit Graph

480 Commits

Author SHA1 Message Date
ahe@google.com 1ebbd88137 Implement IsolateMirror.
R=kustermann@google.com, ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25516 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 10:11:54 +00:00
mlippautz@google.com 8ce69b14e0 Addressing DBC from https://codereview.chromium.org/19780002/
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25487 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 18:16:49 +00:00
ahe@google.com 2c0006c72b Fix a bug that caused a runtime error when attempting to read metadata of a class without metadata.
BUG=http://dartbug.com/11960
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25398 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 07:42:16 +00:00
ahe@google.com eca46b2d0a Implement top-level invoke and operators.
BUG=http://dartbug.com/11861
BUG=http://dartbug.com/6490
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25283 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 16:17:00 +00:00
ahe@google.com c17ca9d9b3 Implement top-level accessors.
Also, implement top-level fields in minified mode.

R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25276 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 14:52:39 +00:00
mlippautz@google.com b3cb27a829 Since returnType is represented by a mirror, we make it lazy. We do not use a lazy mirror anymore, but instead create a type mirror upon first access.
CreateTypeMirror is already factored out of MethodMirror_return_type since it is needed by others mirrors (future CLs). Also introduces CreateMirror() which will be used in future CLs.

BUG=
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25252 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 23:17:47 +00:00
rmacnak@google.com f85d1df63e Fix regression in TypedefMirror.owner introduced when making ClassMirror.owner lazy.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25244 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 21:16:29 +00:00
ahe@google.com 1697e502b4 Fix test wrapping issues.
BUG=http://dartbug.com/11648
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25214 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 13:30:37 +00:00
ahe@google.com 1477f01314 Implement reflection on native classes.
BUG=http://dartbug.com/11902
R=karlklose@google.com, ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25201 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 10:06:50 +00:00
ahe@google.com ce64524c02 Implement accessing lazily initialized static fields.
BUG=http://dartbug.com/11869
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25115 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 18:26:56 +00:00
ahe@google.com bea82f4ef5 Implement invocation of statics.
BUG=http://dartbug.com/6490
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25102 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 15:37:44 +00:00
ahe@google.com ba03042893 Implement reflecting on static fields.
BUG=http://dartbug.com/11745
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25086 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 08:40:39 +00:00
ahe@google.com 5d3e7058d3 Implement reflective access to static methods.
BUG=http://dartbug.com/11745
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25085 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 08:33:30 +00:00
ahe@google.com 3ab963954a Filter out accessors for fields.
BUG=http://dartbug.com/6490
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25084 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 08:20:36 +00:00
ahe@google.com 5873a310cd Retain abstract classes.
BUG=http://dartbug.com/6490
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25083 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 08:17:54 +00:00
mlippautz@google.com 8b65384ede Moved some MethodMirror getters from embedded API to lazy native calls.
The more complex ones (creating LazyXXXMirror) are still left and will be handled in a separate CL.

Tests are (still) excluded from dart2js, because of one regression test in the same file.

BUG=
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25081 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 00:42:30 +00:00
rmacnak@google.com 347bc08877 Fix test that fails in checked mode: a factory must return a subtype of its defining class.
Review URL: https://codereview.chromium.org//19267007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25026 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-15 22:13:02 +00:00
rmacnak@google.com 39bf0aca44 Implement the invoke methods (invoke, getField, setField, newInstance, apply) as internal natives.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25024 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-15 21:14:43 +00:00
mlippautz@google.com 3b5ba678cd Add a MirrorReference reflectee to MethodMirrors. Name getter now refers to
internal function object, providing a name for for all cases and not only for
the ones a name has been provided in the constructor.

Fixes http://dartbug.com/6335

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24872 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-10 01:08:19 +00:00
ahe@google.com d477c3f663 Implement JsMethodMirror.constructorName.
BUG=http://dartbug.com/11608
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24597 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 17:13:39 +00:00
ahe@google.com 4a4b1bf8d2 Copy compiled constants from metadataHandler to constantHandler.
BUG=http://dartbug.com/11550

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24595 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 16:28:55 +00:00
ahe@google.com 3abe288a30 Implement JsMethodMirror.parameters and returnType.
BUG=http://dartbug.com/11513
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24580 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 11:07:54 +00:00
sgjesse@google.com 887c8e7596 Move getters from Options to Platform
The getters for executable, script and version are now statics on
Platform. I kept them on Options for now, but updated most tests to
use Platform.

R=ajohnsen@google.com, floitsch@google.com, iposva@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24401 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 12:56:23 +00:00
ahe@google.com d3c24e1068 Implement JsClassMirror.constructors.
BUG=http://dartbug.com/11486
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24389 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 09:32:56 +00:00
ahe@google.com c5fd57bf17 Implement JsMirrorSystem.libraries.
BUG=http://dartbug.com/11484
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24388 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 09:26:18 +00:00
ahe@google.com 2d28935c7c Include named parameters in reflection names.
BUG=http://dartbug.com/9283
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24278 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 10:34:46 +00:00
ahe@google.com 93affd21c9 Implement minified MirrorSystem.getName.
BUG=http://dartbug.com/11218
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24180 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-19 12:56:24 +00:00
ahe@google.com 8e6f665fac ClassMirror.newInstance in minified mode.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24169 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-19 07:47:44 +00:00
ahe@google.com 4dc7488ef0 interceptedNames should include all interceptor method generated, not just the ones called.
BUG=http://dartbug.com/11309
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24140 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 13:18:48 +00:00
ahe@google.com 4720dfe31c Correctly reflect on intercepted classes.
BUG=http://dartbug.com/11309
R=ngeoffray@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24134 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 11:20:19 +00:00
ahe@google.com 550366ed84 Revert "Correctly reflect on intercepted classes."
This reverts r24129.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24130 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 10:53:52 +00:00
ahe@google.com 9310152704 Correctly reflect on intercepted classes.
BUG=http://dartbug.com/11309
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24129 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 09:26:31 +00:00
ahe@google.com 4509912981 Improve toString on mirrors and align VM and dart2js.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24081 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 09:39:12 +00:00
ahe@google.com 7d1cff4eec Reuse existing test instead of duplicating code.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24080 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 09:18:27 +00:00
gbracha@google.com c78462c2ad Changes to mirrors in support of metadata access at runtime.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24050 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-14 21:12:58 +00:00
ahe@google.com 233a218a30 Fix two type errors and dart2dart status.
Review URL: https://codereview.chromium.org//16728005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23894 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 07:38:32 +00:00
ahe@google.com f0224cdc36 Implement:
JsClassMirror.methods, JsClassMirror.getters,
JsClassMirror.setters, JsMethodMirror.isGetter,
JsMethodMirror.isGetter, JsMethodMirror.isStatic,
and JsMethodMirror.isPrivate.

R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23892 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 06:51:35 +00:00
ahe@google.com eeac55f800 Expose default constructors through ClassElement.localMembers.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23891 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 06:37:59 +00:00
ahe@google.com 7b0467ef19 Add compileAll internal compiler flag.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23858 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-11 15:43:21 +00:00
ahe@google.com 7e904f541d Preliminary support for reflecting on generic types.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23809 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-10 13:24:36 +00:00
ahe@google.com d318c99bb1 Implement ClassMirror.superclass.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23797 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-10 06:47:53 +00:00
ahe@google.com 0598d208c7 Implement InstanceMirror.getField/setField (minified).
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23676 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-06 11:55:51 +00:00
ngeoffray@google.com 318add67e7 Add a JS AST null value to the generated field metadata instead of null when a field does not have metadata.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23669 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-06 09:43:30 +00:00
ahe@google.com 90651648af Implement InstanceMirror.invoke (minified).
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23596 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-04 14:21:34 +00:00
ahe@google.com e199977d0e Implement reflecting on uninstantiated classes.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23589 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-04 13:14:37 +00:00
ahe@google.com 00d1a0664c Implement metadata for instance fields.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23580 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-04 08:07:53 +00:00
ahe@google.com 0a7a5c58f8 Implement MethodMirror.metadata.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23529 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-03 09:12:31 +00:00
ahe@google.com 4e17f7dca7 Implement ClassMirror.metadata.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23457 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-31 08:04:20 +00:00
ahe@google.com cb3e022248 Implement LibraryMirror.metadata.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23406 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-30 13:06:22 +00:00
ngeoffray@google.com 5e39dd88f7 Enqueue fields for resolution in the enqueuer, instead of doing it in the resolver.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23320 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-29 06:53:45 +00:00