}
private String generateSource(String fullClassName, String baseClassName, ClassInfo classInfo)
throws TranscoderException
{
StandardDefs standardDefs = ThreadLocalToolkit.getStandardDefs();
boolean needsIBorder = !classInfo.implementsInterface(standardDefs.getCorePackage(), "IBorder");
boolean needsBorderMetrics = !classInfo.definesGetter("borderMetrics", true);
boolean needsIFlexDisplayObject = !classInfo.implementsInterface(standardDefs.getCorePackage(),
"IFlexDisplayObject");
boolean needsMeasuredHeight = !classInfo.definesGetter("measuredHeight", true);
boolean needsMeasuredWidth = !classInfo.definesGetter("measuredWidth", true);
boolean needsMove = !classInfo.definesFunction("move", true);
boolean needsSetActualSize = !classInfo.definesFunction("setActualSize", true);
boolean flexMovieClipOrSprite = (classInfo.extendsClass(NameFormatter.toColon(standardDefs.getCorePackage(),
"FlexMovieClip")) ||
classInfo.extendsClass(NameFormatter.toColon(standardDefs.getCorePackage(),
"FlexSprite")));
return generateSource(fullClassName, baseClassName, needsIBorder, needsBorderMetrics,
needsIFlexDisplayObject, needsMeasuredHeight, needsMeasuredWidth,
needsMove, needsSetActualSize, flexMovieClipOrSprite);