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