Skip to content

Conversation

@graalvmbot
Copy link
Collaborator

This PR includes the registration of proxy classes for runtime instantiation into the reflection configuration. This allows the registration of reflection queries on proxy classes, which was not possible until now.
The existing handling of proxy configuration files is still here to handle existing files, but the agent is modified to use the new behavior.

The new format to specify proxy classes is the following:

{
  "type": { "proxy": [
    "InterfaceName1",
    "InterfaceName2",
    ...
  ]},
  ... (member registrations)
}

Here's a summary of the main changes:

  • The agent (BreakpointInterceptor) is modified to consistently handle proxy classes, instead of the case-by-case approach used until now. Proxies are encoded as an array of interfaces in the trace files;
  • ProxyConfigurationTypeDescriptor enables handling of proxy classes in configuration code;
  • Types are now passed as ConfigurationTypeDescriptor from parsing onwards, notably in ConfigurationType;
  • ReflectionRegistry now takes a ProxyRegistry to register proxy classes.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Apr 23, 2024
@graalvmbot graalvmbot force-pushed the lottet/GR-47365-proxy-mre branch 2 times, most recently from 8dbab50 to fe77ae7 Compare April 29, 2024 15:04
@graalvmbot graalvmbot force-pushed the lottet/GR-47365-proxy-mre branch from fe77ae7 to 55662fd Compare May 13, 2024 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants