A method annotated with @NoAllocation transitively calls new.
@NoAllocation
new
Example:
class C implements I { @NoAllocation void directlyAllocatingMethod() { new Object(); } }