Skip to content
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

Add the ability to create objects through the C API #2081

Closed
sgjesse opened this issue Mar 9, 2012 · 2 comments
Closed

Add the ability to create objects through the C API #2081

sgjesse opened this issue Mar 9, 2012 · 2 comments
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. type-enhancement A request for a change that isn't a bug

Comments

@sgjesse
Copy link
Contributor

sgjesse commented Mar 9, 2012

It is not possible to create new Dart object instances from the C API.

A function like this is proposed for the API:

Dart_Handle Dart_InvokeConstuctor(Dart_Handle library,
                                  Dart_Handle class_name,
                                  Dart_Handle constructor_name,
                                  int number_of_arguments,
                                  Dart_Handle* arguments);

The class_name could also be the class object retrieved through Dart_GetClass.

@turnidge
Copy link
Contributor

Set owner to @turnidge.
Added Accepted label.

@turnidge
Copy link
Contributor

The function Dart_New has been added to the api:

/**
 * Invokes a constructor, creating a new object.
 *
 * This function allows hidden constructors (constructors with leading
 * underscores) to be called.
 *
 * \param clazz A class or an interface.
 * \param constructor_name The name of the constructor to invoke. Use
 * Dart_Null() to invoke the unnamed constructor. This name should
 * not include the name of the class.
 * \param number_of_arguments Size of the arguments array.
 * \param arguments An array of arguments to the constructor.
 *
 * \return If the constructor is called and completes successfully,
 * then the new object. If an error occurs during execution, then an
 * error handle is returned.
 /
DART_EXPORT Dart_Handle Dart_New(Dart_Handle clazz,
                                 Dart_Handle constructor_name,
                                 int number_of_arguments,
                                 Dart_Handle
arguments);


Added Fixed label.

@sgjesse sgjesse added Type-Enhancement area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. labels May 23, 2012
@kevmoo kevmoo added type-enhancement A request for a change that isn't a bug and removed type-enhancement labels Mar 1, 2016
copybara-service bot pushed a commit that referenced this issue Apr 10, 2023
Revisions updated by `dart tools/rev_sdk_deps.dart`.

tools (https://github.com/dart-lang/tools/compare/cd799be..58d9147):
  58d9147  2023-04-07  Christopher Fujino  [unified_analytics] Add NoOpAnalytics (#77)

web_socket_channel (https://github.com/dart-lang/web_socket_channel/compare/40eb236..b28bae6):
  b28bae6  2023-04-07  Rexios  Allow passing through custom http client in IO socket connect (#259)
  1064b47  2023-04-07  Nate Bosch  Fix deprecated_new_in_comment_reference (#262)

webdev (https://github.com/dart-lang/webdev/compare/22b34e3..7546291):
  75462913  2023-04-07  Elliott Brooks  Run mono_repo generate (#2081)
  9964ebab  2023-04-07  dependabot[bot]  Bump actions/labeler from 4.0.2 to 4.0.3 (#2067)
  3dee56b5  2023-04-07  Anna Gringauze  Remove eval error message on async frames (#2073)
  d6b3e9ce  2023-04-07  Elliott Brooks  Dart Code Metrics follow-up (#2072)
  48e3211a  2023-04-07  Elliott Brooks  Update the release script to take into account `pubspec_overrides.yaml` (#2080)
  fd75f511  2023-04-06  Elliott Brooks  Reset Webdev to 3.0.5-dev (#2077)

Change-Id: Iac863f7c4822fe6b9585e80e95d69467e8d60b6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294364
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
copybara-service bot pushed a commit that referenced this issue Aug 21, 2023
… webdev

Revisions updated by `dart tools/rev_sdk_deps.dart`.

collection (https://github.com/dart-lang/collection/compare/1ed009e..1a9b7eb):
  1a9b7eb  2023-08-15  ebraminio  Minor typo fix (#304)

dartdoc (https://github.com/dart-lang/dartdoc/compare/5cfb1f3..e148373):
  e1483735  2023-08-14  Parker Lougheed  Adjust links to dart.dev class modifier documentation (#3476)

http (https://github.com/dart-lang/http/compare/9f167a7..631d4ec):
  631d4ec  2023-08-18  Alex James  Add java_http .gitattributes file (#999)
  58a5462  2023-08-17  Alex James  JavaClient can stream the HTTP response body (#1005)
  df1f625  2023-08-15  Brian Quinlan  Add some additional header tests (#1006)

mockito (https://github.com/dart-lang/mockito/compare/ff79de6..e54a006):
  e54a006  2023-08-18  Copybara-Service  Merge pull request #685 from LuisDuarte1:feature/build-extensions
  5f3a4ca  2023-08-18  Luís Duarte  Format files
  2d4ec1e  2023-08-17  Luís Duarte  Update lib/src/builder.dart
  bc06f9f  2023-08-17  Luís Duarte  Make builder not merge generic extension.
  af043a0  2023-08-16  Luís Duarte  Replace double-quotes with single quotes
  034e6c1  2023-08-16  Luís Duarte  Update lib/src/builder.dart
  4ff995f  2023-08-10  Luís Duarte  Make MockBuilder support build_extensions option.

protobuf (https://github.com/dart-lang/protobuf/compare/a852ba4..5e8f36b):
  5e8f36b  2023-08-16  Ömer Sinan Ağacan  Add dart2wasm targets to benchmark builder (#806)
  41d0156  2023-08-15  Ömer Sinan Ağacan  Document why we add '$' prefix to result local in constructors (#870)
  41193fd  2023-08-14  Devon Carew  Rename a local variable to avoid proto field name conflicts, re-generate protos (#869)

test (https://github.com/dart-lang/test/compare/bc0a992..d0fc4bd):
  d0fc4bde  2023-08-16  Nate Bosch  Extend the timeout for runtime_matrix_test (#2084)
  cdf80280  2023-08-16  Nate Bosch  Add some console logging to browser test startup (#2083)
  6146c292  2023-08-16  Nate Bosch  Add an ignore for an SDK deprecation (#2082)
  27142079  2023-08-15  Parker Lougheed  Fix improperly rendered changelog entry (#2081)
  46cf4de0  2023-08-15  Nate Bosch  Timeout browser suite loads (#2080)

tools (https://github.com/dart-lang/tools/compare/295ff92..2be6c2e):
  2be6c2e  2023-08-16  Ben Konyi  Added `dartCliCommandExecuted` and `pubGet` events (#123)

webdev (https://github.com/dart-lang/webdev/compare/19aad27..fc876cb):
  fc876cb0  2023-08-16  Elliott Brooks  Reset Webdev to 3.0.8-wip (#2197)
  1aa7c523  2023-08-16  Elliott Brooks  Prepare webdev for release to 3.0.7 (#2196)

Change-Id: Idc228d0f3f70f5b3e7bfc6e777260dfe84fe96f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322060
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests

3 participants