You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The body of requests is specified using the body property. Allowing requests to derive from a non-empty base class creates a complex problem as we basically introduce multiple-inheritance (we would have to merge properties of the base class and the body property).
The current base types of all requests (e.g. RequestBase) are empty. They are exclusively used to propagate behaviors like CommonRequestParameters to the final request types.
In the future, requests should never use extends, but only implements (to directly specify the behaviors).
Action Items
Replace all Request extends SomeRequestBase with Request implements AllBehaviorsOfSomeRequestBase
Remove Request.base_type and all related handling from metamodel.ts and the compiler in general
Add validation to disallow extends on request types (cc @pquentin )
The text was updated successfully, but these errors were encountered:
🚀 Feature Proposal
Disallow
extends
for request types.Motivation
The body of requests is specified using the
body
property. Allowing requests to derive from a non-empty base class creates a complex problem as we basically introduce multiple-inheritance (we would have to merge properties of the base class and thebody
property).The current base types of all requests (e.g.
RequestBase
) are empty. They are exclusively used to propagate behaviors likeCommonRequestParameters
to the final request types.In the future, requests should never use
extends
, but onlyimplements
(to directly specify the behaviors).Action Items
Request extends SomeRequestBase
withRequest implements AllBehaviorsOfSomeRequestBase
Request.base_type
and all related handling frommetamodel.ts
and the compiler in generalextends
on request types (cc @pquentin )The text was updated successfully, but these errors were encountered: