void (GeneratorAdapter generator, GetFontMethodProvider fontMethodProvider, int componentLocal, LwComponent lwComponent, FontDescriptor descriptor, String readMethodName, Label fontNullLabel) { if (descriptor.isFixedFont()) { generator.loadThis(); generator.push(descriptor.getFontName()); generator.push(descriptor.getFontStyle()); generator.push(descriptor.getFontSize()); generator.loadLocal(componentLocal); Type componentType = AsmCodeGenerator.typeFromClassName(lwComponent.getComponentClassName()); Method getFontMethod = new Method(readMethodName, ourFontType, new Type[0]); generator.invokeVirtual(componentType, getFontMethod); generator.invokeVirtual(fontMethodProvider.getMainClassType(), fontMethodProvider.getFontMethod()); } else { generator.push(descriptor.getSwingFont()); generator.invokeStatic(ourUIManagerType, ourUIManagerGetFontMethod); } if (fontNullLabel != null) { int fontResult = generator.newLocal(ourFontType); generator.storeLocal(fontResult); generator.loadLocal(fontResult); generator.ifNull(fontNullLabel); generator.loadLocal(componentLocal); generator.loadLocal(fontResult); } }