Hi,

The main reason is that the flex plugin doesn’t inspect the SWC files to build 
up the namespace based component index.

In the old sdks the plugin has hard coded which manifest file to process for 
which namespace. My fix involved detecting the difference between a flex and a 
flexjs sdk and to make CodeContext.createCodeContextFromLibraries method 
process the files in the framework/libs directory to build the same index by 
readin ing the swcs catalog.xml files instead of processing the manifest-files.

With that change the index is correctly initialized, but unfortunately as soon 
as IntelliJ tries to load the class definition, this fails and I couldn’t find 
the declaration in ClassBackedElementDescriptor.getDeclaration, because 
ActionScriptClassResolver.findClassByQName returns null.

I debugged this for full two days and couldn’t find anything. And I will 
definitely not maintain a Fork of the plugin. 

Chris



Am 28.01.17, 16:54 schrieb "Alex Harui" <aha...@adobe.com>:

    
    
    On 1/28/17, 7:13 AM, "Christofer Dutz" <christofer.d...@c-ware.de> wrote:
    
    >Hi all,
    >
    >Unfortunately, I was told, that probably even if I did find the fix, it
    >would probably not be accepted by Jetbrains.
    
    That's a bummer.  Can you capture what you learned somewhere like the wiki
    so the next person who takes this on doesn't have to start from the
    beginning?  I didn't pay attention in detail to what approach you took.
    It sounds like there is a manual step that Piotr uses to "fix" the
    problem.  Does IntelliJ have any internal scripting or API to execute that
    manual step?  Those are the kinds of hacks I used to get FlexJS to work
    with FB.  We provide some empty SWCs to make FB think FlexJS is a Flex
    SDK, then add in the FlexJS SWCs.  It isn't perfect, but seems to work ok.
    
    >
    >Seems there are multiple understandings of “open-source” … just showing
    >the source, but not accepting any changes isn’t how I understand it.
    
    Unfortunately, back in the day, Adobe was also picky about what patches it
    would take.  That's the great thing about being at Apache.
    
    -Alex
    
    

Reply via email to