public PackageViewDescriptorImpl( @NotNull ModuleDescriptor module, @NotNull FqName fqName, @NotNull List<PackageFragmentDescriptor> fragments) { super(Collections.<AnnotationDescriptor>emptyList(), fqName.shortNameOrSpecial()); this.module = module; this.fqName = fqName; List<JetScope> scopes = Lists.newArrayList(); assert !fragments.isEmpty() : fqName + " in " + module; for (PackageFragmentDescriptor fragment : fragments) { scopes.add(fragment.getMemberScope()); } scopes.add(new SubpackagesScope()); memberScope = new ChainedScope( this, "package view scope for " + fqName + " in " + module.getName(), scopes.toArray(new JetScope[scopes.size()])); }