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
It is difficult to properly handle this case, because constructors for inner classes have misleading signatures like public nested.A$B(nested.A,int), so we have either to ignore such constructors and use composite model in these cases (as it is done in assembleCompositeModel), or to handle them as a special case.
This issue seems to be a duplicate of SAT-1461
The text was updated successfully, but these errors were encountered:
Discussed with @korifey, these functionality seems to be useless, but requires difficult changes in codegen. @Markoutte, please avoid creating assemble models for such classes in Fuzzer as it is done in Engine. @volivan239 can provide more details.
Description
Java allows to correctly instantiate public inner classes anywhere in the code. However, in generated code we do not do this.
To Reproduce
Launch plugin on the following code snippet:
Expected behavior
In generated tests,
A$B
is instantiated likeA a = new A(0); B b = a.new B();
Actual behavior
Visual proofs (screenshots, logs, images)
Test generated with engine only:
Test generated with fuzzer only:
Additional context
It is difficult to properly handle this case, because constructors for inner classes have misleading signatures like
public nested.A$B(nested.A,int)
, so we have either to ignore such constructors and use composite model in these cases (as it is done inassembleCompositeModel
), or to handle them as a special case.This issue seems to be a duplicate of SAT-1461
The text was updated successfully, but these errors were encountered: