Minor, fix parameter type in MemberCodegen
This commit is contained in:
@@ -93,7 +93,7 @@ public abstract class ClassBodyCodegen extends MemberCodegen<JetClassOrObject> {
|
||||
|
||||
protected void generateDeclaration(PropertyCodegen propertyCodegen, JetDeclaration declaration) {
|
||||
if (declaration instanceof JetProperty || declaration instanceof JetNamedFunction) {
|
||||
genFunctionOrProperty((JetTypeParameterListOwner) declaration, v);
|
||||
genFunctionOrProperty(declaration, v);
|
||||
}
|
||||
else if (declaration instanceof JetClassOrObject) {
|
||||
if (declaration instanceof JetEnumEntry && !enumEntryNeedSubclass(state.getBindingContext(), (JetEnumEntry) declaration)) {
|
||||
|
||||
@@ -106,10 +106,7 @@ public abstract class MemberCodegen<T extends JetElement/* TODO: & JetDeclaratio
|
||||
v.done();
|
||||
}
|
||||
|
||||
public void genFunctionOrProperty(
|
||||
@NotNull JetTypeParameterListOwner functionOrProperty,
|
||||
@NotNull ClassBuilder classBuilder
|
||||
) {
|
||||
public void genFunctionOrProperty(@NotNull JetDeclaration functionOrProperty, @NotNull ClassBuilder classBuilder) {
|
||||
FunctionCodegen functionCodegen = new FunctionCodegen(context, classBuilder, state, this);
|
||||
if (functionOrProperty instanceof JetNamedFunction) {
|
||||
try {
|
||||
|
||||
@@ -32,7 +32,6 @@ import org.jetbrains.jet.codegen.context.CodegenContext;
|
||||
import org.jetbrains.jet.codegen.context.FieldOwnerContext;
|
||||
import org.jetbrains.jet.codegen.context.MethodContext;
|
||||
import org.jetbrains.jet.codegen.context.PackageContext;
|
||||
import org.jetbrains.jet.lang.resolve.java.jvmSignature.JvmMethodSignature;
|
||||
import org.jetbrains.jet.codegen.state.GenerationState;
|
||||
import org.jetbrains.jet.config.IncrementalCompilation;
|
||||
import org.jetbrains.jet.descriptors.serialization.BitEncoding;
|
||||
@@ -52,6 +51,7 @@ import org.jetbrains.jet.lang.resolve.MemberComparator;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
|
||||
import org.jetbrains.jet.lang.resolve.java.jvmSignature.JvmMethodSignature;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.descriptors.LazyJavaPackageFragmentScope;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.BaseDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
@@ -263,13 +263,13 @@ public class PackageCodegen {
|
||||
|
||||
@Nullable
|
||||
private ClassBuilder generate(@NotNull JetFile file, @NotNull Map<CallableMemberDescriptor, Runnable> generateCallableMemberTasks) {
|
||||
boolean generateSrcClass = false;
|
||||
boolean generatePackagePart = false;
|
||||
Type packagePartType = getPackagePartType(getPackageClassFqName(packageFragment.getFqName()), file.getVirtualFile());
|
||||
PackageContext packagePartContext = CodegenContext.STATIC.intoPackagePart(packageFragment, packagePartType);
|
||||
|
||||
for (JetDeclaration declaration : file.getDeclarations()) {
|
||||
if (declaration instanceof JetProperty || declaration instanceof JetNamedFunction) {
|
||||
generateSrcClass = true;
|
||||
generatePackagePart = true;
|
||||
}
|
||||
else if (declaration instanceof JetClassOrObject) {
|
||||
JetClassOrObject classOrObject = (JetClassOrObject) declaration;
|
||||
@@ -283,7 +283,7 @@ public class PackageCodegen {
|
||||
}
|
||||
}
|
||||
|
||||
if (!generateSrcClass) return null;
|
||||
if (!generatePackagePart) return null;
|
||||
|
||||
ClassBuilder builder = state.getFactory().forPackagePart(packagePartType, file);
|
||||
|
||||
@@ -303,7 +303,7 @@ public class PackageCodegen {
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
memberCodegen.genFunctionOrProperty((JetTypeParameterListOwner) declaration, v.getClassBuilder());
|
||||
memberCodegen.genFunctionOrProperty(declaration, v.getClassBuilder());
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -313,7 +313,6 @@ public class PackageCodegen {
|
||||
return builder;
|
||||
}
|
||||
|
||||
//TODO: FIX: Default method generated at facade without delegation
|
||||
private MemberCodegen<?> getMemberCodegen(@NotNull FieldOwnerContext packageFacade) {
|
||||
return new MemberCodegen<JetFile>(state, null, packageFacade, null, null) {
|
||||
@Override
|
||||
|
||||
@@ -21,7 +21,10 @@ import kotlin.Function0;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.codegen.context.FieldOwnerContext;
|
||||
import org.jetbrains.jet.codegen.state.GenerationState;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
||||
import org.jetbrains.jet.lang.psi.JetProperty;
|
||||
import org.jetbrains.org.objectweb.asm.Type;
|
||||
|
||||
import static org.jetbrains.jet.codegen.AsmUtil.writeKotlinSyntheticClassAnnotation;
|
||||
@@ -58,7 +61,7 @@ public class PackagePartCodegen extends MemberCodegen<JetFile> {
|
||||
protected void generateBody() {
|
||||
for (JetDeclaration declaration : element.getDeclarations()) {
|
||||
if (declaration instanceof JetNamedFunction || declaration instanceof JetProperty) {
|
||||
genFunctionOrProperty((JetTypeParameterListOwner) declaration, v);
|
||||
genFunctionOrProperty(declaration, v);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,15 +21,14 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.codegen.context.CodegenContext;
|
||||
import org.jetbrains.jet.codegen.context.MethodContext;
|
||||
import org.jetbrains.jet.codegen.context.ScriptContext;
|
||||
import org.jetbrains.jet.lang.resolve.java.jvmSignature.JvmMethodSignature;
|
||||
import org.jetbrains.jet.codegen.state.GenerationState;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ScriptDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
import org.jetbrains.jet.lang.psi.JetScript;
|
||||
import org.jetbrains.jet.lang.psi.JetTypeParameterListOwner;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.java.jvmSignature.JvmMethodSignature;
|
||||
import org.jetbrains.org.objectweb.asm.MethodVisitor;
|
||||
import org.jetbrains.org.objectweb.asm.Type;
|
||||
import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter;
|
||||
@@ -208,7 +207,7 @@ public class ScriptCodegen extends MemberCodegen<JetScript> {
|
||||
|
||||
private void genMembers(@NotNull ClassBuilder classBuilder) {
|
||||
for (JetDeclaration declaration : scriptDeclaration.getDeclarations()) {
|
||||
genFunctionOrProperty((JetTypeParameterListOwner) declaration, classBuilder);
|
||||
genFunctionOrProperty(declaration, classBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user