Properly name packageFragments and packageFacade

This commit is contained in:
Mikhael Bogdanov
2013-10-10 16:34:18 +04:00
parent 8f8017981b
commit 468e5f8945
2 changed files with 8 additions and 9 deletions
@@ -132,7 +132,7 @@ public final class ClassFileFactory extends GenerationStateAware {
}
@NotNull
public ClassBuilder forNamespacePart(@NotNull Type asmType, @NotNull PsiFile sourceFile) {
public ClassBuilder forPackageFragment(@NotNull Type asmType, @NotNull PsiFile sourceFile) {
return newVisitor(asmType, sourceFile);
}
@@ -168,7 +168,7 @@ public class NamespaceCodegen extends MemberCodegen {
@Nullable
private ClassBuilder generate(@NotNull JetFile file) {
boolean generateSrcClass = false;
FieldOwnerContext namespaceImpl = CodegenContext.STATIC.intoNamespace(descriptor);
FieldOwnerContext packageFragmentContext = CodegenContext.STATIC.intoNamespace(descriptor);
for (JetDeclaration declaration : file.getDeclarations()) {
if (declaration instanceof JetProperty || declaration instanceof JetNamedFunction) {
@@ -180,23 +180,22 @@ public class NamespaceCodegen extends MemberCodegen {
}
}
else if (declaration instanceof JetScript) {
ScriptCodegen.createScriptCodegen((JetScript) declaration, state, namespaceImpl).generate();
ScriptCodegen.createScriptCodegen((JetScript) declaration, state, packageFragmentContext).generate();
}
}
if (!generateSrcClass) return null;
Type namespacePartType = getNamespacePartType(getPackageClassFqName(name), file);
ClassBuilder builder = state.getFactory().forNamespacePart(namespacePartType, file);
Type packageFragmentType = getNamespacePartType(getPackageClassFqName(name), file);
ClassBuilder builder = state.getFactory().forPackageFragment(packageFragmentType, file);
NamespacePartCodegen namespacePartCodegen = new NamespacePartCodegen(builder, file, namespacePartType, namespaceImpl, state);
namespacePartCodegen.generate();
new NamespacePartCodegen(builder, file, packageFragmentType, packageFragmentContext, state).generate();
FieldOwnerContext nameSpacePart = CodegenContext.STATIC.intoNamespaceFacade(namespacePartType, descriptor);
FieldOwnerContext namespaceFacade = CodegenContext.STATIC.intoNamespaceFacade(packageFragmentType, descriptor);
for (JetDeclaration declaration : file.getDeclarations()) {
if (declaration instanceof JetNamedFunction || declaration instanceof JetProperty) {
genFunctionOrProperty(nameSpacePart, (JetTypeParameterListOwner) declaration, v.getClassBuilder());
genFunctionOrProperty(namespaceFacade, (JetTypeParameterListOwner) declaration, v.getClassBuilder());
}
}