package com.intellij.javascript.flex.compiled; import com.intellij.lang.javascript.flex.importer.FlexImporter; import com.intellij.openapi.fileTypes.BinaryFileDecompiler; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NotNull; import java.io.IOException; /** * @author Maxim.Mossienko * Date: Sep 18, 2008 * Time: 3:49:24 PM */ public class SwfFileDecompiler implements BinaryFileDecompiler { @NotNull public CharSequence decompile(final VirtualFile file) { final Project project = findProject(); if (project == null) return ""; try { return FlexImporter.buildInterfaceFromStream(file.getInputStream()); } catch (IOException ex) { return ArrayUtil.EMPTY_CHAR_SEQUENCE; } } private static Project findProject() { final Project[] projects = ProjectManager.getInstance().getOpenProjects(); if (projects.length == 0) return null; final Project project = projects[0]; return project; } }