Factory method moved to the top

This commit is contained in:
Andrey Breslav
2013-12-23 18:57:07 +04:00
parent ed3932eca8
commit 1d8547a789
@@ -32,8 +32,19 @@ import org.jetbrains.jet.lang.types.TypeSubstitutor;
import java.util.Collections;
public class JavaPackageFragmentDescriptorImpl extends DeclarationDescriptorImpl implements JavaPackageFragmentDescriptor {
@Nullable
public static JavaPackageFragmentDescriptorImpl create(
@NotNull JavaPackageFragmentProvider provider,
@NotNull FqName fqName,
@NotNull NullableFunction<JavaPackageFragmentDescriptor, JavaPackageFragmentScope> scopeFactory
) {
JavaPackageFragmentDescriptorImpl descriptor = new JavaPackageFragmentDescriptorImpl(provider, fqName, scopeFactory);
return descriptor.memberScope == null ? null : descriptor;
}
private final JavaPackageFragmentProvider provider;
private final FqName fqName;
private final JavaPackageFragmentScope memberScope;
private JavaPackageFragmentDescriptorImpl(
@@ -47,16 +58,6 @@ public class JavaPackageFragmentDescriptorImpl extends DeclarationDescriptorImpl
this.memberScope = scopeFactory.fun(this);
}
@Nullable
public static JavaPackageFragmentDescriptorImpl create(
@NotNull JavaPackageFragmentProvider provider,
@NotNull FqName fqName,
@NotNull NullableFunction<JavaPackageFragmentDescriptor, JavaPackageFragmentScope> scopeFactory
) {
JavaPackageFragmentDescriptorImpl descriptor = new JavaPackageFragmentDescriptorImpl(provider, fqName, scopeFactory);
return descriptor.memberScope == null ? null : descriptor;
}
@NotNull
@Override
public ModuleDescriptor getContainingDeclaration() {