0

I'm currently getting this error trying to push updated code into my packaging org for our managed package: Managed type that is released without a supertype can not subsequently extend another type referencing Class3. The code that currently exists in the packaging org is structured as follows (simplified):

global virtual with sharing class Class1 { 
    @remoteAction
    global static String methodA()
}

public virtual with sharing class Class2 extends Class1 {
     public class2() {
     }
}


global with sharing class Class3 extends Class2 {
    public class3() {
        super();
    }
    @remoteAction
    global static String methodB() 
}

I attempted to modify Class2 to make it global as well and push it in but it failed with the above error. I then reverted that change and simply tried to push in the code that matches what's currently in the packaging org and thats failing as well with the same error. I'm at an impasse now where I can't push any updates into the packaging org.

Update I tried updating Class2 directly in the packaging org to global and that worked. Re-saving Class3 directly in the packaging org also fails to compile with the same error message as above. I've considering creating a release package with Class2 as global but I'd like to avoid that if its not going to solve the issue.

0

So not the most satisfying answer but after changing class B to global I'm still unable to save class C (the one causing the error). However I updated class B to be global, rebuild a release(beta didnt do it) version of the package with it as global. Now I'm able to update class C again.

I referenced this known issue that is under review as well: https://success.salesforce.com/issues_view?id=a1p30000000SzdFAAS

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.