uber/motif
ScopeFactory with single unused dependency ignores the given creatable instance
开放
#200 创建于 2020年4月2日
good first issue
仓库指标
- 星标
- (538 个星标)
- PR 合并指标
- (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.