-
Notifications
You must be signed in to change notification settings - Fork 1.7k
dart:mirrors fails to find metadata on method parameters with --preview-dart-2 #33207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@kmillikin Thank you for looking at this |
@rmacnak-google it looks like we never added support in the VM for storing annotations on parameters (and also Kernel procedures). They seem to be skipped (looking at class T extends core::Object {
synthetic constructor •() → void
: super core::Object::•()
;
method f(@self::U::•() core::int x) → void {}
} I'm kicking it over to you for triage. |
Hi all, just wanted to see if this issue is planning to land in 65? It's blocking right now and we're getting some confusion from users. I would like to be able to give them a rough timeline. Thanks! |
Hi Joe - We don't have an ETA yet, other than by Dart2Stable. |
Also getting this bug. I have some code that reads |
* remove skips from tests blocked by issue 33207 * fix controller in document_auth_test * fix test in resource_controller_body_binding_test * add documented element provider to resource_controller_scope_test * fix tests for built-in controller type openapi integration * fix tests that use references to components * Improve binding typing test, add resource controller recycling test * fix issue when generating docs thru cli
* Prepares 3.0 branch for CI and package metadata * Fixing up new linter rules (#336) * Rename ManagedClient -> ManagedAuthClient, ManagedToken -> ManagedAuthToken (#339) * Replace HTTP metadata with Bind metadata (#337) * Replace HTTP metadata with Bind metadata * Adds Bind.get, Bind.put, Bind.post, Bind.delete for convenience * Update some API refs for responder -> operation * Fix issue wirth template projects causing test failure * Deprecate @http metadata in favor of Bind.method * Fix typo * Rename Request.innerRequest -> Request.raw (#343) * Rename Request.innerRequest->Request.raw * Changelog * Remove runOnMainIsolate from Application.start. Replace with Application.test (#344) * Clean up template generation (#346) * Move templates * added example repo * Clean up template generation code * Bump args to 1.0.0 (#349) * Add RequestController.prepare (#350) * Add RequestController.prepare * dartfmt * Renames RequestSink -> ApplicationChannel (#351) * Add RequestController.prepare * Change structure of RequestSink and its callbacks * Removed unneeded arg * Remove RequestSink.apiInfo * Rename RequestChannel -> ApplicationChannel * Cleanup API reference * Fix merge issue * API ref cleanup, changelog * rename willOpen->prepare, didOpen->willStartReceivingRequests * Removes application/x-www-form-urlencoded from default HTTPController.acceptedContentTypes * Mass renaming for 3.0 (#354) * Hides RouteController * Rename processRequest -> handle * Rename RequestController to Controller * Remove errant characters * config -> options * Fix some stringly typed tests, rename things in API docs * Optimizes Router (#353) * Add RequestController.prepare * Change structure of RequestSink and its callbacks * Removed unneeded arg * Remove RequestSink.apiInfo * Rename RequestChannel -> ApplicationChannel * Cleanup API reference * SOme optimizations for router * Add a few more tests * more tests * Allow Application to close logger instead of channel * Changes AuthCodeController to use a delegate object instead of a callback function (#355) * Update default port from 8081 to 8888 (#358) * Update default port from 8081 to 8888 * Fix issue in changelog * Fixes regression in Router where a base path causes path variables to have incorrect values (#357) * Renames Relationship annotation to Relate (#356) * Rename Relationship->Relate * Update changelog * Replace two old refs to Relationship * Move coverage (#360) * Move coverage to another package (3.0) * Add --delete flag to s3 sync for coverage script * Clear directory before sync * Remove @Bind for methods, replace with @operation (#362) * Remove @Bind for methods, replace with @operation * Changelog * Add dartfmt to release script (#361) * Fix issue where stack trace would be lost when failing to start test application (#365) * Small style improvement to test harnesses' in template projects (#364) * Prevents values from directly being assigned to Query.where properties (#363) * Update all usages of where = value changed to whereEqualTo(value) * Add another test * Cleans up Request.path behavior (#366) * Cleans up Request path behavior * Update some API references errors * Fix race condition in message hub test (#368) * Adds MockHTTPServer.queueHandler and MockHTTPServer.queueOutage (#367) * Cleans up Request path behavior * Update some API references errors * Fix api ref, wip * Updating tests * Add API ref * Changelog * Cleans up Authorization related types (#369) * Does some cleanup on Auth types * Rename ManagedAuthStorage -> ManagedAuthDelegate * Changelog, fix test * Fix test * Simplifies controller linking (#370) * Simplifies controller linking by requiring generation for all controllers * Changelog, remove unused annotation * adding some tests * Add type checking errors to binding (#371) * Add type checking errors to binding * Remove two tests that are now better captured elsewhere * Improves error behavior and messaging (#372) * Add type checking errors to binding * Remove two tests that are now better captured elsewhere * WIP: Improving error/exception behavior * More error handling, fixing tests * Changelog * Fix issue with streaming decoder * remove debug log statement * Remove ability for HandlerException to return request * Fixed error in exception handler in controller * Improve some error messages * Get error messaging tests back to passing * fix test * fix test * Adds support for managing complex types in ORM (#373) * Adding ManagedType to support complex types * Add tests for ensuring type annotations are added to queries * Few more tests and some API ref * Improves CLI tool code and tests (#376) * Cleaned up tests for commands. Unified serve command * Fixing tests, remove SIGINT watcher on Application * Add tmp/ directory to gitignore * Fix test * Adds pub global activate to create_test * Adds pub global activate to doc srver test * Clean up stack traces for generated script CLIs (#377) * Clean up stack traces for generated script CLIs * Fix printStackTrace function * Adds support for OpenAPI 3 documentation generation (#378) * Fixes static analyzer warnings for validate methods (#380) * Renames HTTPController(RESTController) to ResourceController (#379) * Better API docs for matchers. Change whereContainsString->whereContains * Adds initial support for Document data type (JSONB) (#381) * Adds Document data type for storing JSONB data in PostgreSQL * Fix test * Adds [] and []= to Document, subscript access to JSONB columns (#382) * Renames some inner workings and adds support for single element subscript * Remove tests for coalescing columns * Add API ref * Fix tests * Unifies ManagedObject property access (#383) * Build cached lookup table for ManagedObject accessor symbols to properties * Clean up API, add docs * Moves executable library to private. Adds better API refs for libraries in application/ (#385) * Adds 'Scope' annotation for ResourceController operation methods. (#384) * Return 403 forbidden for insufficient_scope, some initial test plans for controller scoping * add better openapi docs for authorizer * Adds OpenAPI responses when an authorizer is passed * adds scope support to ResoruceCOntroller methods * Adds Authorizer docs for responses, forbidden behavior scopes. Adds ResourceController scope behavior and testing * API ref and changelog * Fix tests, API ref * Adding some additional tests * Reworked how scope is added to security schemes * Fix test * Support latest package:analyzer (#388) * Support latest package:analyzer Fixes #387 * Sort dependencies in pubspec * Use ^ syntax for pkg:http * Analysis cleanup * Removes Document.from and replaces it with default constructor with optional arg (#392) * Unifies Query property identifier behavior (#393) * wip * Removes Document.from and replaces it with default constructor with optional arg * Unify property selection and avoid returning across typed boundaries * Add test, remove unused code * Remove duped logic * Adds more tests * Fix tests * Fix tests * Renames some internal types for building queries (#394) * Changes syntax for 'Query.where' (#395) * Renames some internal types for building queries * wip * Update usages of where in tests + implementation. * Allow haveAtLeastOneWhere to contnue keyPath * Add docs, change inversion operator behavior * Rename relatedByValue->identifiedBy * Fix some api refs, remove some unused code * Renames HTTPRequestPath->RequestPath and HTTPRequestBody->RequestBody * Clean up Body Decoder (#399) * Expose ManagedRelationshipType (#402) * exposing managed relationship type * added comment for managed relationship type * Fix definition of ManagedAuthResourceOwner (#405) * Fixes warnings for Codec deprecations (#404) * Fixes warnings for Codec deprecations * Fix a few more places * Allows for more convenient building of insertion/update values in Query (#403) * Tests for creating objects in query.values * remove unused managedmatcherbacking * Add more tests * Update gitignore, change backingMap->backing * Add ManagedEntity.name * Wip * Allow managedobject to be assigned to Query.values * Strip relationships from default constructed objects instead of throwing exception when setting query.values * Defer some new tests * Update api ref * Update api ref * Make a copy of values object when stripping * Fix issue where properties set in constructor are not retained in query.values. Fix issue when setting relationship to null * OneOf Validations for DateTime (#406) * exposing managed relationship type * added comment for managed relationship type * fixing bug where oneOf Validations will fail for type DateTime * changing to ternary assignment and fixing test location * restricting usage of oneOf to strings and numbers * restricting double from oneOf validation * Remove some deprecated elements from 2 (#407) * Require explicit ManagedContext for Query. Allow for multiple ManagedContexts. (#408) * Require context for Query * Manage lifecycle of data model, add data model manager * Update changelog. Register ManagedContext with app registry * Fix up some API refs and tests * Add some add'l coverage for multiple contexts * Small things, API refs * Adds Query.insertObject static method (#409) * Improves QueryPredicate.and (renamed from andPredicates) (#410) * Bump args package to requisite 1.4.0 (#413) * Adds pub get output to aqueduct create (#414) * Refactors Postgres query building logic (#411) * Moves property selector methods from querymixin to managedentity * Moving some internal things around * Renaming mappers -> builders * wip * wip * wip * fix typo * wip * wip * Clean up * rename * Adds --version flag for cli (#412) * Adds --version flag for cli * Fix test * Allow migration directory to be provided by cli arg (#415) * Allow migration directory to be provided by cli arg * Remove CLIProject mixin from CLIDatabase * Fix test * Fix issue where running processes attempt to listento SIGTERM on windows (#416) * Adds database transactions to ORM (#418) * Adds transaction method and persistent store proxy to invoke db driver transaction method * Adds transactions to ManagedContext * Changelog * Use underlying timeout mechanism from postgres driver (#419) * Use underlying timeout mechanism from postgres driver * Change lower bound of postgres version * Combines all migration behavior in a single database transaction (#420) * Move upgrade logic into persistent store and out of command. Update tests * Combines migration.seed and migration.upgrade in same transaction * wip * move validation of migration files into its own method * Remove MigrationBuilder, add schema building to Migration * Move IsolateExecutor to another package * Some additional tests, better UI * Fix issue where any error when building migration source was reported as a fialed compile * Fix some tests, improve CLI UI * Fix test * Add Linkable interface. Rename COntroller.prepare to didAddToChannel (#421) * Use dependency_overrides for creating projects from local aqueduct installs, instead of replacing string (#425) * Separates test framework from application framework (#427) * Remove test libraries * wip * wip * Moving files * fix tests * Adds copy of readme * move travis.yml to root dir, update for multiple dirs * delay implementation of expectRequest that got mixed in here * update license file * use travis stages. remove coverage from .travis.yml for now. * Move before script to inside script * modify travis.yml * add stages: * Update travis.yml * Remove conditional from script * Small changes from review * Adds behavior to add OAuth2 clients from AuthServer and AuthDelegate. (#431) * Rename AuthDelegate methods to be more consistent. Add AuthDelegate.addClient and AuthDelegate.addClient. Rename Authorization.resourceOwnerIdentifier. * changelog * Remove unused code * Revert removing what was apparently used code * added comment to what looks like unused code * Rename ManagedAuthenticatable->ResourceOwnerTableDefinition * Improve aqueduct_test API (#432) * Update documentation links for doc category overview * Refactor. API reference. * getting tests to pass * Small changes from review, changelog * Add Appveyor integration to repo (#434) * add appveyor.yml * set correct subdirs * trigger build * use windows file separator to run script * Copy ci dir * set up path to include psql * Move PATH setup to install step * debug: print contents of dart-sdk * add pub get to before_build * move script to inside appveyor.yml * use cmd: * reverse arg order * use double quotes * move commands from before_build * remove cmd: * move psql commands to test_script * Adds windows build status badge * Fixes path issues on Windows for CLI and tests (#435) * Fix path used in DocumentedElement. Add CLI activation to Terminal helper object. Use pub.bat on Windows * Replace usages of 'pub' in tests with 'pub.bat' * Fix dependency overrides when creating a project from local install * require 1.0.1 of isolate_executor * fix usage of Uri.path * Fix tests in a few more places for path issues * Fix a few items in tests, in migrationDirectory finding code * Fix two more Uri.path usages, add some add'l logging to CLI tests * Fix path concat when passing cli args * Fixes issue on Windows OS with date comparisons (#436) * Log statement to view raw values of issue date * Add isAtSameMomentAs in addition to isBefore checks in tests * Fix a few more isBefore tests * Fixes issue where max entity size test fails on windows (#437) * Increase idle timeout for max entity size test * Remove entity size test from windows * Updates example, pubspec for alpha publish (#438) * Update pubspecs for alpha publish. add example * remove README from example * revert dev dependency back to path instead of override * fix style issue * update readme, test example * update copy in readme * Update readmes, template pubpsecs * attempt to fix flaky test on windows ci by being more conservative with socket opening * Adds decoded body to output in TestResponse (#442) * Adds Dart 2 compatibility (#467) * Updating typing errors, new constant names * wip * Fix issue when dynamically instantiating ManagedSet * Fix a few more type errors, remove a test for a feature that wil change * Fix issue where setting ManagdSet from readFromMap failed type check * wip * add behavior to cast values into their papropriate type when reading transient values * Add skips for failing tests, fix test in isolate suite test * improve type check when sending response * remove debug log statement * fix a few more tests, revert backfroma local copy of a dependency * Remove redundant code from runtimeCast * add some test skips * Changing all literal symbols to constructors to bypass sdk bug * remove unneeded preview-dart-2 flag * Update to [email protected]. Remove screaming caps from new to .64 constants * Update template pubspecs to use test>1.0.0 * Fix test dependency in cli_helpers * Update cli_helpers * increase timeout for gen diff table test * Up timeout for pub get when running tests * increase timeout on another test suite * Increase timeout in create cli tests * Use constructor over literal in test * Increase default timeout of starting aqueduct serve * Up timeout for schema tests * add tags to tests, only run in appropriate stages * Ups timeout for isolate recovery tests * Add generic decode method to CLI args (#470) * Updating typing errors, new constant names * wip * Fix issue when dynamically instantiating ManagedSet * Fix a few more type errors, remove a test for a feature that wil change * Fix issue where setting ManagdSet from readFromMap failed type check * wip * add behavior to cast values into their papropriate type when reading transient values * Add skips for failing tests, fix test in isolate suite test * improve type check when sending response * remove debug log statement * fix a few more tests, revert backfroma local copy of a dependency * Remove redundant code from runtimeCast * add some test skips * Changing all literal symbols to constructors to bypass sdk bug * remove unneeded preview-dart-2 flag * Update to [email protected]. Remove screaming caps from new to .64 constants * Update template pubspecs to use test>1.0.0 * Fix test dependency in cli_helpers * Update cli_helpers * increase timeout for gen diff table test * Up timeout for pub get when running tests * increase timeout on another test suite * Increase timeout in create cli tests * Use constructor over literal in test * Increase default timeout of starting aqueduct serve * Up timeout for schema tests * add tags to tests, only run in appropriate stages * Ups timeout for isolate recovery tests * Get specific about some types returned from reflection. Parsed cli args now type check * increase timeout for isolate recovery test * stop spawning multiple isolates in serve tests * Changes default number of isolates to number of processors (#472) * stop spawning multiple isolates in serve tests * sets default number of isolates = number of processors * Renames Application.test -> application.startOnMainIsolate (#471) * Renames Application.test -> application.startOnMainIsolate * remove stack_trace dep * Remove skipped tests for fixes in dev.65 (#473) * Updating typing errors, new constant names * wip * Fix issue when dynamically instantiating ManagedSet * Fix a few more type errors, remove a test for a feature that wil change * Fix issue where setting ManagdSet from readFromMap failed type check * wip * add behavior to cast values into their papropriate type when reading transient values * Add skips for failing tests, fix test in isolate suite test * improve type check when sending response * remove debug log statement * fix a few more tests, revert backfroma local copy of a dependency * Remove redundant code from runtimeCast * add some test skips * Changing all literal symbols to constructors to bypass sdk bug * remove unneeded preview-dart-2 flag * Update to [email protected]. Remove screaming caps from new to .64 constants * Update template pubspecs to use test>1.0.0 * Fix test dependency in cli_helpers * Update cli_helpers * increase timeout for gen diff table test * Up timeout for pub get when running tests * increase timeout on another test suite * Increase timeout in create cli tests * Use constructor over literal in test * Increase default timeout of starting aqueduct serve * Up timeout for schema tests * add tags to tests, only run in appropriate stages * Ups timeout for isolate recovery tests * Get specific about some types returned from reflection. Parsed cli args now type check * increase timeout for isolate recovery test * stop spawning multiple isolates in serve tests * sets default number of isolates = number of processors * Remove skips from tests that are now valid again in dev65 * Add add'l time for some tests. Remove misleading variabble * DocumentedElement is now interface. Imoplementation uses analyzer * provides analyzer provider in tests/doc cli * ADd provider to another test * Restructures cli files (#474) * Restructures cli files * Add timeouts * Remove timeouts from cli test files, add to dart_test.yaml * Missed a dynamic import * CLI types now use annotation-driven options/flags (#475) * Restructures cli files * cli commands now annotate their options instead of providing them in constructor * Add type info * Fix issue when using ManagedSets in property selector. Skip tests related to haveATLeastOneWhere (#482) * Disables implicit casting, fixes implicit casts in tests (#476) * Updating typing errors, new constant names * wip * Fix issue when dynamically instantiating ManagedSet * Fix a few more type errors, remove a test for a feature that wil change * Fix issue where setting ManagdSet from readFromMap failed type check * wip * add behavior to cast values into their papropriate type when reading transient values * Add skips for failing tests, fix test in isolate suite test * improve type check when sending response * remove debug log statement * fix a few more tests, revert backfroma local copy of a dependency * Remove redundant code from runtimeCast * add some test skips * Changing all literal symbols to constructors to bypass sdk bug * remove unneeded preview-dart-2 flag * Update to [email protected]. Remove screaming caps from new to .64 constants * Update template pubspecs to use test>1.0.0 * Fix test dependency in cli_helpers * Update cli_helpers * increase timeout for gen diff table test * Up timeout for pub get when running tests * increase timeout on another test suite * Increase timeout in create cli tests * Use constructor over literal in test * Increase default timeout of starting aqueduct serve * Up timeout for schema tests * add tags to tests, only run in appropriate stages * Ups timeout for isolate recovery tests * Get specific about some types returned from reflection. Parsed cli args now type check * increase timeout for isolate recovery test * Add typecasts to test code * Restructures cli files * cli commands now annotate their options instead of providing them in constructor * Add type info * fix two casts * Fix issue when using ManagedSets in property selector. Skip tests related to haveATLeastOneWhere * Add additional type checks and coercion to library code (#484) * Updating typing errors, new constant names * wip * Fix issue when dynamically instantiating ManagedSet * Fix a few more type errors, remove a test for a feature that wil change * Fix issue where setting ManagdSet from readFromMap failed type check * wip * add behavior to cast values into their papropriate type when reading transient values * Add skips for failing tests, fix test in isolate suite test * improve type check when sending response * remove debug log statement * fix a few more tests, revert backfroma local copy of a dependency * Remove redundant code from runtimeCast * add some test skips * Changing all literal symbols to constructors to bypass sdk bug * remove unneeded preview-dart-2 flag * Update to [email protected]. Remove screaming caps from new to .64 constants * Update template pubspecs to use test>1.0.0 * Fix test dependency in cli_helpers * Update cli_helpers * increase timeout for gen diff table test * Up timeout for pub get when running tests * increase timeout on another test suite * Increase timeout in create cli tests * Use constructor over literal in test * Increase default timeout of starting aqueduct serve * Up timeout for schema tests * add tags to tests, only run in appropriate stages * Ups timeout for isolate recovery tests * Get specific about some types returned from reflection. Parsed cli args now type check * increase timeout for isolate recovery test * Add typecasts to test code * Restructures cli files * cli commands now annotate their options instead of providing them in constructor * Add type info * fix two casts * wip * wip * Fix types in isolate executor * disable implicit casts again * add type casts, type checking * only cast uniqueColumnSet of non-null * Revert change to managedset, will find another solution * Adds type check when creating new ManagedSet from iterable (#486) * Refactors Validation behavior (#487) * Refactors ManagedObject validations * re-dsiables iomplicit casts * Fix tests * Cleans up remaining one-off implicit casts (#489) * Refactors ManagedObject validations * re-dsiables iomplicit casts * Fix tests * Fix typing in body encoding * Add some type checks to response headers and codec * Cleanup types in a few minor places, and release script * fix type check when streaming response body * Clear response modifiers so that they are only executed once for server errors (#490) * Clear response modifiers after executing them * Clear modifiers prior to executing them to avoid try-catch * Fix test race condition * Adds Recyclable<T> interface for Controllers (#492) * Refactors ManagedObject validations * re-dsiables iomplicit casts * Fix tests * Fix typing in body encoding * Add some type checks to response headers and codec * Cleanup types in a few minor places, and release script * fix type check when streaming response body * wip * Clear response modifiers after executing them * Clear modifiers prior to executing them to avoid try-catch * finish controller recycling tests * Adds recyclabble to resource controller, finalizes fields for non-recycable controllers * dartfmt * dartfmt * Re-enables tests that were blocked by dart-lang/sdk#33207 (#493) * remove skips from tests blocked by issue 33207 * fix controller in document_auth_test * fix test in resource_controller_body_binding_test * add documented element provider to resource_controller_scope_test * fix tests for built-in controller type openapi integration * fix tests that use references to components * Improve binding typing test, add resource controller recycling test * fix issue when generating docs thru cli * Prevents ManagedObject subclass from omitting default constructor. (#466) * Prevents managedobject subclass from omitting default constructor. Renames 'persistent type' refrences to 'table definition' * Fix invocations that have changed * attempt to fix flaky test * Add log to flaky test on travis * use listen instead of first in flaky test * remove git versions of config * Remove 3.0 branch from travis
The expected behavior is that a list containing a single instance of
U
is printed, but the empty list is printed instead. The unexpected behavior is also true of top-level functions.Related: metadata on class field declarations behaves correctly as far as I have seen.
The text was updated successfully, but these errors were encountered: