package com.intellij.flex.uiDesigner.mxml; import com.intellij.flex.uiDesigner.EmbedSwfManager; import com.intellij.flex.uiDesigner.io.PrimitiveAmfOutputStream; import com.intellij.lang.javascript.JavaScriptSupportLoader; import com.intellij.lang.javascript.psi.ecmal4.JSClass; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; class ClassValueWriter extends AbstractPrimitiveValueWriter { private final JSClass jsClass; public ClassValueWriter(JSClass jsClass) { this.jsClass = jsClass; } public JSClass getJsClass() { return jsClass; } @Override protected void doWrite(PrimitiveAmfOutputStream out, BaseWriter writer, boolean isStyle) { PsiFile psiFile = jsClass.getContainingFile(); VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile != null && JavaScriptSupportLoader.isFxgFile(virtualFile)) { out.write(AmfExtendedTypes.SWF); out.writeUInt29(EmbedSwfManager.getInstance().add(virtualFile, EmbedSwfManager.FXG_MARKER, writer.getAssetCounter())); } else { writer.classReference(jsClass.getQualifiedName()); } } }