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
We have just released Metalama 2024.2.7-preview, with all changes from 2024.1.20 and 2024.2.6-preview, plus the following:
New
Programmatic constructor introduction.
Constructor invokers.
The ImplementInterface advice no longer cares if all interface members are present. Errors will appear during compilation.
Interface members can be introduced using [Introduce] or programmatically using IAdviceFactory.IntroduceMethod.
[InterfaceMember] is marked as [Obsolete] and replaced by [Introduce] or [ExplicitInterfaceMember].
InterfaceMemberOverrideStrategy becomes obsolete. The side case MakeExplicit is replaced by a programmatic strategy.
IInterfaceImplementationResult is IAdviser<INamedType> and allows to introduce members. Using IInterfaceImplementationResult.WithExplicitImplementation() : IAdviser<INamedType> it is possible to introduce named type.
Fixed
Enhancements.HasAspect should work with base/derived classes.
A license key stored in a project file could fail to be loaded if another project was built before using the same compiler process.
During the compilation of several projects, log records were not dispatched to the right project-specific log file.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We have just released Metalama 2024.2.7-preview, with all changes from 2024.1.20 and 2024.2.6-preview, plus the following:
New
ImplementInterface
advice no longer cares if all interface members are present. Errors will appear during compilation.[Introduce]
or programmatically usingIAdviceFactory.IntroduceMethod
.[InterfaceMember]
is marked as[Obsolete]
and replaced by[Introduce]
or[ExplicitInterfaceMember]
.InterfaceMemberOverrideStrategy
becomes obsolete. The side caseMakeExplicit
is replaced by a programmatic strategy.IInterfaceImplementationResult
isIAdviser<INamedType>
and allows to introduce members. UsingIInterfaceImplementationResult.WithExplicitImplementation() : IAdviser<INamedType>
it is possible to introduce named type.Fixed
Beta Was this translation helpful? Give feedback.
All reactions