uber/motif
ScopeFactory with single unused dependency ignores the given creatable instance
開放
#200 建立於 2020年4月2日
good first issue
倉庫指標
- 星標
- (538 顆星)
- PR 合併指標
- (平均合併 3天 21小時) (30 天內合併 2 個 PR)
描述
Generated code seems to ignore given instance for the dependency source while using ScopeFactory with a single unused dependency and tries to create the instance directly.
Library version: 0.3.3-SNAPSHOT
Repro steps or stacktrace:
Scope
@Scope
public interface TestScope extends Creatable<TestScope.Dependencies> {
interface Dependencies {
String blah();
}
}
Creating instance of scope
TestScope.Dependencies dependencySource =
new TestScope.Dependencies() {
@Override
public String blah() {
return "something";
}
};
ScopeFactory.create(TestScope.class, dependencySource);
Generated code
@ScopeImpl(
children = {},
scope = TestScope.class,
dependencies = TestScope.Dependencies.class
)
public class TestScopeImpl implements TestScope {
private final TestScope.Dependencies dependencies;
public TestScopeImpl(TestScope.Dependencies dependencies) {
this.dependencies = dependencies;
}
public TestScopeImpl() {
this(new TestScope.Dependencies() {});
}
TestScope testScope() {
return this;
}
}
Notice this(new TestScope.Dependencies() {}); in constructor.