summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fde/cfde_texteditengine.cpp6
-rw-r--r--xfa/fde/cfde_texteditengine_unittest.cpp2
-rw-r--r--xfa/fgas/font/cfgas_fontmgr.h2
-rw-r--r--xfa/fgas/font/cfgas_gefont.h2
-rw-r--r--xfa/fgas/font/cfgas_pdffontmgr.h2
-rw-r--r--xfa/fgas/layout/cfx_rtfbreak.h2
-rw-r--r--xfa/fgas/layout/cfx_txtbreak.h2
-rw-r--r--xfa/fwl/cfwl_barcode.h2
-rw-r--r--xfa/fwl/cfwl_caret.h4
-rw-r--r--xfa/fwl/cfwl_checkbox.h2
-rw-r--r--xfa/fwl/cfwl_combobox.h2
-rw-r--r--xfa/fwl/cfwl_comboedit.h2
-rw-r--r--xfa/fwl/cfwl_combolist.h2
-rw-r--r--xfa/fwl/cfwl_datetimeedit.h2
-rw-r--r--xfa/fwl/cfwl_datetimepicker.h2
-rw-r--r--xfa/fwl/cfwl_eventmouse.h2
-rw-r--r--xfa/fwl/cfwl_eventscroll.h2
-rw-r--r--xfa/fwl/cfwl_eventselectchanged.h2
-rw-r--r--xfa/fwl/cfwl_eventtextwillchange.h2
-rw-r--r--xfa/fwl/cfwl_eventvalidate.h2
-rw-r--r--xfa/fwl/cfwl_form.h2
-rw-r--r--xfa/fwl/cfwl_messagekey.h2
-rw-r--r--xfa/fwl/cfwl_messagekillfocus.h2
-rw-r--r--xfa/fwl/cfwl_messagemouse.h2
-rw-r--r--xfa/fwl/cfwl_messagemousewheel.h2
-rw-r--r--xfa/fwl/cfwl_messagesetfocus.h2
-rw-r--r--xfa/fwl/cfwl_monthcalendar.h2
-rw-r--r--xfa/fwl/cfwl_picturebox.h2
-rw-r--r--xfa/fwl/cfwl_pushbutton.h2
-rw-r--r--xfa/fwl/cfwl_scrollbar.h4
-rw-r--r--xfa/fwl/cfwl_themebackground.h2
-rw-r--r--xfa/fwl/cfwl_themetext.h2
-rw-r--r--xfa/fwl/theme/cfwl_barcodetp.h2
-rw-r--r--xfa/fwl/theme/cfwl_carettp.h2
-rw-r--r--xfa/fwl/theme/cfwl_checkboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_comboboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_datetimepickertp.h2
-rw-r--r--xfa/fwl/theme/cfwl_edittp.h2
-rw-r--r--xfa/fwl/theme/cfwl_listboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_monthcalendartp.h2
-rw-r--r--xfa/fwl/theme/cfwl_pictureboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_pushbuttontp.h2
-rw-r--r--xfa/fwl/theme/cfwl_scrollbartp.h2
-rw-r--r--xfa/fxfa/cxfa_ffarc.h2
-rw-r--r--xfa/fxfa/cxfa_ffbarcode.h2
-rw-r--r--xfa/fxfa/cxfa_ffcheckbutton.h2
-rw-r--r--xfa/fxfa/cxfa_ffcombobox.h2
-rw-r--r--xfa/fxfa/cxfa_ffdatetimeedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffexclgroup.h2
-rw-r--r--xfa/fxfa/cxfa_ffimage.h2
-rw-r--r--xfa/fxfa/cxfa_ffimageedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffline.h2
-rw-r--r--xfa/fxfa/cxfa_fflistbox.h2
-rw-r--r--xfa/fxfa/cxfa_ffnumericedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffpageview.h6
-rw-r--r--xfa/fxfa/cxfa_ffpasswordedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffpushbutton.h2
-rw-r--r--xfa/fxfa/cxfa_ffrectangle.h2
-rw-r--r--xfa/fxfa/cxfa_fftext.h2
-rw-r--r--xfa/fxfa/cxfa_linkuserdata.h2
-rw-r--r--xfa/fxfa/cxfa_textparser_unittest.cpp2
-rw-r--r--xfa/fxfa/cxfa_textuserdata.h2
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmexpression.h22
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h50
-rw-r--r--xfa/fxfa/parser/cscript_datawindow.h2
-rw-r--r--xfa/fxfa/parser/cscript_eventpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_hostpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_layoutpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_logpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_signaturepseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_accessiblecontent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_acrobat.h2
-rw-r--r--xfa/fxfa/parser/cxfa_acrobat7.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adbe_jsconsole.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adbe_jsdebugger.h2
-rw-r--r--xfa/fxfa/parser/cxfa_addsilentprint.h2
-rw-r--r--xfa/fxfa/parser/cxfa_addviewerpreferences.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adjustdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adobeextensionlevel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_agent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_alwaysembed.h2
-rw-r--r--xfa/fxfa/parser/cxfa_amd.h2
-rw-r--r--xfa/fxfa/parser/cxfa_appearancefilter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_arc.h2
-rw-r--r--xfa/fxfa/parser/cxfa_area.h2
-rw-r--r--xfa/fxfa/parser/cxfa_arraynodelist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_assist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_attachnodelist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_attributes.h2
-rw-r--r--xfa/fxfa/parser/cxfa_autosave.h2
-rw-r--r--xfa/fxfa/parser/cxfa_barcode.h2
-rw-r--r--xfa/fxfa/parser/cxfa_base.h2
-rw-r--r--xfa/fxfa/parser/cxfa_batchoutput.h2
-rw-r--r--xfa/fxfa/parser/cxfa_behavioroverride.h2
-rw-r--r--xfa/fxfa/parser/cxfa_bind.h2
-rw-r--r--xfa/fxfa/parser/cxfa_binditems.h2
-rw-r--r--xfa/fxfa/parser/cxfa_bookend.h2
-rw-r--r--xfa/fxfa/parser/cxfa_boolean.h2
-rw-r--r--xfa/fxfa/parser/cxfa_border.h2
-rw-r--r--xfa/fxfa/parser/cxfa_break.h2
-rw-r--r--xfa/fxfa/parser/cxfa_breakafter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_breakbefore.h2
-rw-r--r--xfa/fxfa/parser/cxfa_button.h2
-rw-r--r--xfa/fxfa/parser/cxfa_cache.h2
-rw-r--r--xfa/fxfa/parser/cxfa_calculate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_calendarsymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_caption.h2
-rw-r--r--xfa/fxfa/parser/cxfa_certificate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_certificates.h2
-rw-r--r--xfa/fxfa/parser/cxfa_change.h2
-rw-r--r--xfa/fxfa/parser/cxfa_checkbutton.h2
-rw-r--r--xfa/fxfa/parser/cxfa_choicelist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_color.h2
-rw-r--r--xfa/fxfa/parser/cxfa_comb.h2
-rw-r--r--xfa/fxfa/parser/cxfa_command.h2
-rw-r--r--xfa/fxfa/parser/cxfa_common.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compress.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compression.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compresslogicalstructure.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compressobjectstream.h2
-rw-r--r--xfa/fxfa/parser/cxfa_config.h2
-rw-r--r--xfa/fxfa/parser/cxfa_conformance.h2
-rw-r--r--xfa/fxfa/parser/cxfa_connect.h2
-rw-r--r--xfa/fxfa/parser/cxfa_connectionset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_connectstring.h2
-rw-r--r--xfa/fxfa/parser/cxfa_contentarea.h2
-rw-r--r--xfa/fxfa/parser/cxfa_contentcopy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_copies.h2
-rw-r--r--xfa/fxfa/parser/cxfa_corner.h2
-rw-r--r--xfa/fxfa/parser/cxfa_creator.h2
-rw-r--r--xfa/fxfa/parser/cxfa_currencysymbol.h2
-rw-r--r--xfa/fxfa/parser/cxfa_currencysymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_currentpage.h2
-rw-r--r--xfa/fxfa/parser/cxfa_data.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datagroup.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datamodel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datavalue.h2
-rw-r--r--xfa/fxfa/parser/cxfa_date.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datepattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datepatterns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datetime.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datetimeedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datetimesymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_day.h2
-rw-r--r--xfa/fxfa/parser/cxfa_daynames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_debug.h2
-rw-r--r--xfa/fxfa/parser/cxfa_decimal.h2
-rw-r--r--xfa/fxfa/parser/cxfa_defaulttypeface.h2
-rw-r--r--xfa/fxfa/parser/cxfa_defaultui.h2
-rw-r--r--xfa/fxfa/parser/cxfa_delete.h2
-rw-r--r--xfa/fxfa/parser/cxfa_delta.h2
-rw-r--r--xfa/fxfa/parser/cxfa_desc.h2
-rw-r--r--xfa/fxfa/parser/cxfa_destination.h2
-rw-r--r--xfa/fxfa/parser/cxfa_digestmethod.h2
-rw-r--r--xfa/fxfa/parser/cxfa_digestmethods.h2
-rw-r--r--xfa/fxfa/parser/cxfa_document.h2
-rw-r--r--xfa/fxfa/parser/cxfa_documentassembly.h2
-rw-r--r--xfa/fxfa/parser/cxfa_draw.h2
-rw-r--r--xfa/fxfa/parser/cxfa_driver.h2
-rw-r--r--xfa/fxfa/parser/cxfa_dsigdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_duplexoption.h2
-rw-r--r--xfa/fxfa/parser/cxfa_dynamicrender.h2
-rw-r--r--xfa/fxfa/parser/cxfa_edge.h2
-rw-r--r--xfa/fxfa/parser/cxfa_effectiveinputpolicy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_embed.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encoding.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encodings.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encrypt.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryption.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryptionlevel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryptionmethod.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryptionmethods.h2
-rw-r--r--xfa/fxfa/parser/cxfa_enforce.h2
-rw-r--r--xfa/fxfa/parser/cxfa_equate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_equaterange.h2
-rw-r--r--xfa/fxfa/parser/cxfa_era.h2
-rw-r--r--xfa/fxfa/parser/cxfa_eranames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_event.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exclgroup.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exclude.h2
-rw-r--r--xfa/fxfa/parser/cxfa_excludens.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_execute.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exobject.h2
-rw-r--r--xfa/fxfa/parser/cxfa_extras.h2
-rw-r--r--xfa/fxfa/parser/cxfa_field.h2
-rw-r--r--xfa/fxfa/parser/cxfa_fill.h2
-rw-r--r--xfa/fxfa/parser/cxfa_filter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_fliplabel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_float.h2
-rw-r--r--xfa/fxfa/parser/cxfa_font.h2
-rw-r--r--xfa/fxfa/parser/cxfa_fontinfo.h2
-rw-r--r--xfa/fxfa/parser/cxfa_form.h2
-rw-r--r--xfa/fxfa/parser/cxfa_format.h2
-rw-r--r--xfa/fxfa/parser/cxfa_formfieldfilling.h2
-rw-r--r--xfa/fxfa/parser/cxfa_groupparent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_handler.h2
-rw-r--r--xfa/fxfa/parser/cxfa_hyphenation.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ifempty.h2
-rw-r--r--xfa/fxfa/parser/cxfa_image.h2
-rw-r--r--xfa/fxfa/parser/cxfa_imageedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_includexdpcontent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_incrementalload.h2
-rw-r--r--xfa/fxfa/parser/cxfa_incrementalmerge.h2
-rw-r--r--xfa/fxfa/parser/cxfa_insert.h2
-rw-r--r--xfa/fxfa/parser/cxfa_instancemanager.h2
-rw-r--r--xfa/fxfa/parser/cxfa_integer.h2
-rw-r--r--xfa/fxfa/parser/cxfa_interactive.h2
-rw-r--r--xfa/fxfa/parser/cxfa_issuers.h2
-rw-r--r--xfa/fxfa/parser/cxfa_items.h2
-rw-r--r--xfa/fxfa/parser/cxfa_jog.h2
-rw-r--r--xfa/fxfa/parser/cxfa_keep.h2
-rw-r--r--xfa/fxfa/parser/cxfa_keyusage.h2
-rw-r--r--xfa/fxfa/parser/cxfa_labelprinter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_layout.h2
-rw-r--r--xfa/fxfa/parser/cxfa_level.h2
-rw-r--r--xfa/fxfa/parser/cxfa_line.h2
-rw-r--r--xfa/fxfa/parser/cxfa_linear.h2
-rw-r--r--xfa/fxfa/parser/cxfa_linearized.h2
-rw-r--r--xfa/fxfa/parser/cxfa_locale.h2
-rw-r--r--xfa/fxfa/parser/cxfa_localeset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_lockdocument.h2
-rw-r--r--xfa/fxfa/parser/cxfa_log.h2
-rw-r--r--xfa/fxfa/parser/cxfa_manifest.h2
-rw-r--r--xfa/fxfa/parser/cxfa_map.h2
-rw-r--r--xfa/fxfa/parser/cxfa_margin.h2
-rw-r--r--xfa/fxfa/parser/cxfa_mdp.h2
-rw-r--r--xfa/fxfa/parser/cxfa_medium.h2
-rw-r--r--xfa/fxfa/parser/cxfa_mediuminfo.h2
-rw-r--r--xfa/fxfa/parser/cxfa_meridiem.h2
-rw-r--r--xfa/fxfa/parser/cxfa_meridiemnames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_message.h2
-rw-r--r--xfa/fxfa/parser/cxfa_messaging.h2
-rw-r--r--xfa/fxfa/parser/cxfa_mode.h2
-rw-r--r--xfa/fxfa/parser/cxfa_modifyannots.h2
-rw-r--r--xfa/fxfa/parser/cxfa_month.h2
-rw-r--r--xfa/fxfa/parser/cxfa_monthnames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_msgid.h2
-rw-r--r--xfa/fxfa/parser/cxfa_nameattr.h2
-rw-r--r--xfa/fxfa/parser/cxfa_neverembed.h2
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp8
-rw-r--r--xfa/fxfa/parser/cxfa_node_unittest.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_nodelocale.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numberofcopies.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numberpattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numberpatterns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numbersymbol.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numbersymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numericedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_occur.h2
-rw-r--r--xfa/fxfa/parser/cxfa_oid.h2
-rw-r--r--xfa/fxfa/parser/cxfa_oids.h2
-rw-r--r--xfa/fxfa/parser/cxfa_openaction.h2
-rw-r--r--xfa/fxfa/parser/cxfa_operation.h2
-rw-r--r--xfa/fxfa/parser/cxfa_output.h2
-rw-r--r--xfa/fxfa/parser/cxfa_outputbin.h2
-rw-r--r--xfa/fxfa/parser/cxfa_outputxsl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_overflow.h2
-rw-r--r--xfa/fxfa/parser/cxfa_overprint.h2
-rw-r--r--xfa/fxfa/parser/cxfa_packet.h2
-rw-r--r--xfa/fxfa/parser/cxfa_packets.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pagearea.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pageoffset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pagerange.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pageset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pagination.h2
-rw-r--r--xfa/fxfa/parser/cxfa_paginationoverride.h2
-rw-r--r--xfa/fxfa/parser/cxfa_para.h2
-rw-r--r--xfa/fxfa/parser/cxfa_part.h2
-rw-r--r--xfa/fxfa/parser/cxfa_password.h2
-rw-r--r--xfa/fxfa/parser/cxfa_passwordedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pcl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pdf.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pdfa.h2
-rw-r--r--xfa/fxfa/parser/cxfa_permissions.h2
-rw-r--r--xfa/fxfa/parser/cxfa_picktraybypdfsize.h2
-rw-r--r--xfa/fxfa/parser/cxfa_picture.h2
-rw-r--r--xfa/fxfa/parser/cxfa_plaintextmetadata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_presence.h2
-rw-r--r--xfa/fxfa/parser/cxfa_present.h2
-rw-r--r--xfa/fxfa/parser/cxfa_print.h2
-rw-r--r--xfa/fxfa/parser/cxfa_printername.h2
-rw-r--r--xfa/fxfa/parser/cxfa_printhighquality.h2
-rw-r--r--xfa/fxfa/parser/cxfa_printscaling.h2
-rw-r--r--xfa/fxfa/parser/cxfa_producer.h2
-rw-r--r--xfa/fxfa/parser/cxfa_proto.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ps.h2
-rw-r--r--xfa/fxfa/parser/cxfa_psmap.h2
-rw-r--r--xfa/fxfa/parser/cxfa_query.h2
-rw-r--r--xfa/fxfa/parser/cxfa_radial.h2
-rw-r--r--xfa/fxfa/parser/cxfa_range.h2
-rw-r--r--xfa/fxfa/parser/cxfa_reason.h2
-rw-r--r--xfa/fxfa/parser/cxfa_reasons.h2
-rw-r--r--xfa/fxfa/parser/cxfa_record.h2
-rw-r--r--xfa/fxfa/parser/cxfa_recordset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ref.h2
-rw-r--r--xfa/fxfa/parser/cxfa_relevant.h2
-rw-r--r--xfa/fxfa/parser/cxfa_rename.h2
-rw-r--r--xfa/fxfa/parser/cxfa_renderpolicy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_rootelement.h2
-rw-r--r--xfa/fxfa/parser/cxfa_runscripts.h2
-rw-r--r--xfa/fxfa/parser/cxfa_script.h2
-rw-r--r--xfa/fxfa/parser/cxfa_scriptmodel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_select.h2
-rw-r--r--xfa/fxfa/parser/cxfa_setproperty.h2
-rw-r--r--xfa/fxfa/parser/cxfa_severity.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sharptext.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sharpxhtml.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sharpxml.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signature.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signatureproperties.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signing.h2
-rw-r--r--xfa/fxfa/parser/cxfa_silentprint.h2
-rw-r--r--xfa/fxfa/parser/cxfa_soapaction.h2
-rw-r--r--xfa/fxfa/parser/cxfa_soapaddress.h2
-rw-r--r--xfa/fxfa/parser/cxfa_solid.h2
-rw-r--r--xfa/fxfa/parser/cxfa_source.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sourceset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_speak.h2
-rw-r--r--xfa/fxfa/parser/cxfa_staple.h2
-rw-r--r--xfa/fxfa/parser/cxfa_startnode.h2
-rw-r--r--xfa/fxfa/parser/cxfa_startpage.h2
-rw-r--r--xfa/fxfa/parser/cxfa_stipple.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subform.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subformset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subjectdn.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subjectdns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_submit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_submitformat.h2
-rw-r--r--xfa/fxfa/parser/cxfa_submiturl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subsetbelow.h2
-rw-r--r--xfa/fxfa/parser/cxfa_suppressbanner.h2
-rw-r--r--xfa/fxfa/parser/cxfa_tagged.h2
-rw-r--r--xfa/fxfa/parser/cxfa_template.h2
-rw-r--r--xfa/fxfa/parser/cxfa_templatecache.h2
-rw-r--r--xfa/fxfa/parser/cxfa_text.h2
-rw-r--r--xfa/fxfa/parser/cxfa_textedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_thisproxy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_threshold.h2
-rw-r--r--xfa/fxfa/parser/cxfa_time.h2
-rw-r--r--xfa/fxfa/parser/cxfa_timepattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_timepatterns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_timestamp.h2
-rw-r--r--xfa/fxfa/parser/cxfa_to.h2
-rw-r--r--xfa/fxfa/parser/cxfa_tooltip.h2
-rw-r--r--xfa/fxfa/parser/cxfa_trace.h2
-rw-r--r--xfa/fxfa/parser/cxfa_transform.h2
-rw-r--r--xfa/fxfa/parser/cxfa_traversal.h2
-rw-r--r--xfa/fxfa/parser/cxfa_traverse.h2
-rw-r--r--xfa/fxfa/parser/cxfa_type.h2
-rw-r--r--xfa/fxfa/parser/cxfa_typeface.h2
-rw-r--r--xfa/fxfa/parser/cxfa_typefaces.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ui.h2
-rw-r--r--xfa/fxfa/parser/cxfa_update.h2
-rw-r--r--xfa/fxfa/parser/cxfa_uri.h2
-rw-r--r--xfa/fxfa/parser/cxfa_user.h2
-rw-r--r--xfa/fxfa/parser/cxfa_validate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_validateapprovalsignatures.h2
-rw-r--r--xfa/fxfa/parser/cxfa_validationmessaging.h2
-rw-r--r--xfa/fxfa/parser/cxfa_value.h2
-rw-r--r--xfa/fxfa/parser/cxfa_variables.h2
-rw-r--r--xfa/fxfa/parser/cxfa_version.h2
-rw-r--r--xfa/fxfa/parser/cxfa_versioncontrol.h2
-rw-r--r--xfa/fxfa/parser/cxfa_viewerpreferences.h2
-rw-r--r--xfa/fxfa/parser/cxfa_webclient.h2
-rw-r--r--xfa/fxfa/parser/cxfa_whitespace.h2
-rw-r--r--xfa/fxfa/parser/cxfa_window.h2
-rw-r--r--xfa/fxfa/parser/cxfa_wsdladdress.h2
-rw-r--r--xfa/fxfa/parser/cxfa_wsdlconnection.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xdc.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xdp.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xfa.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xmlconnection.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xmllocale.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xsdconnection.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xsl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_zpl.h2
380 files changed, 423 insertions, 423 deletions
diff --git a/xfa/fde/cfde_texteditengine.cpp b/xfa/fde/cfde_texteditengine.cpp
index ce9d0a576c..cd6681fd21 100644
--- a/xfa/fde/cfde_texteditengine.cpp
+++ b/xfa/fde/cfde_texteditengine.cpp
@@ -19,7 +19,7 @@ constexpr size_t kMaxEditOperations = 128;
constexpr size_t kGapSize = 128;
constexpr size_t kPageWidthMax = 0xffff;
-class InsertOperation : public CFDE_TextEditEngine::Operation {
+class InsertOperation final : public CFDE_TextEditEngine::Operation {
public:
InsertOperation(CFDE_TextEditEngine* engine,
size_t start_idx,
@@ -44,7 +44,7 @@ class InsertOperation : public CFDE_TextEditEngine::Operation {
WideString added_text_;
};
-class DeleteOperation : public CFDE_TextEditEngine::Operation {
+class DeleteOperation final : public CFDE_TextEditEngine::Operation {
public:
DeleteOperation(CFDE_TextEditEngine* engine,
size_t start_idx,
@@ -69,7 +69,7 @@ class DeleteOperation : public CFDE_TextEditEngine::Operation {
WideString removed_text_;
};
-class ReplaceOperation : public CFDE_TextEditEngine::Operation {
+class ReplaceOperation final : public CFDE_TextEditEngine::Operation {
public:
ReplaceOperation(CFDE_TextEditEngine* engine,
size_t start_idx,
diff --git a/xfa/fde/cfde_texteditengine_unittest.cpp b/xfa/fde/cfde_texteditengine_unittest.cpp
index c5efe529e6..1de54ffdcd 100644
--- a/xfa/fde/cfde_texteditengine_unittest.cpp
+++ b/xfa/fde/cfde_texteditengine_unittest.cpp
@@ -11,7 +11,7 @@
class CFDE_TextEditEngineTest : public testing::Test {
public:
- class Delegate : public CFDE_TextEditEngine::Delegate {
+ class Delegate final : public CFDE_TextEditEngine::Delegate {
public:
void Reset() {
text_is_full = false;
diff --git a/xfa/fgas/font/cfgas_fontmgr.h b/xfa/fgas/font/cfgas_fontmgr.h
index 72578be744..6dda338a83 100644
--- a/xfa/fgas/font/cfgas_fontmgr.h
+++ b/xfa/fgas/font/cfgas_fontmgr.h
@@ -121,7 +121,7 @@ class CFX_FontSourceEnum_File {
#endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
-class CFGAS_FontMgr : public Observable<CFGAS_FontMgr> {
+class CFGAS_FontMgr final : public Observable<CFGAS_FontMgr> {
public:
CFGAS_FontMgr();
~CFGAS_FontMgr();
diff --git a/xfa/fgas/font/cfgas_gefont.h b/xfa/fgas/font/cfgas_gefont.h
index bc24cebe47..685fa68200 100644
--- a/xfa/fgas/font/cfgas_gefont.h
+++ b/xfa/fgas/font/cfgas_gefont.h
@@ -20,7 +20,7 @@
class CFX_UnicodeEncoding;
-class CFGAS_GEFont : public Retainable {
+class CFGAS_GEFont final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/xfa/fgas/font/cfgas_pdffontmgr.h b/xfa/fgas/font/cfgas_pdffontmgr.h
index 235f883ce7..6c4242288a 100644
--- a/xfa/fgas/font/cfgas_pdffontmgr.h
+++ b/xfa/fgas/font/cfgas_pdffontmgr.h
@@ -19,7 +19,7 @@ class CFGAS_FontMgr;
class CFGAS_GEFont;
class CPDF_Document;
-class CFGAS_PDFFontMgr : public Observable<CFGAS_PDFFontMgr> {
+class CFGAS_PDFFontMgr final : public Observable<CFGAS_PDFFontMgr> {
public:
explicit CFGAS_PDFFontMgr(CPDF_Document* pDoc, CFGAS_FontMgr* pFontMgr);
~CFGAS_PDFFontMgr();
diff --git a/xfa/fgas/layout/cfx_rtfbreak.h b/xfa/fgas/layout/cfx_rtfbreak.h
index c2320fab7f..ac29ef5e70 100644
--- a/xfa/fgas/layout/cfx_rtfbreak.h
+++ b/xfa/fgas/layout/cfx_rtfbreak.h
@@ -43,7 +43,7 @@ struct FX_RTFTEXTOBJ {
int32_t iVerticalScale;
};
-class CFX_RTFBreak : public CFX_Break {
+class CFX_RTFBreak final : public CFX_Break {
public:
explicit CFX_RTFBreak(uint32_t dwLayoutStyles);
~CFX_RTFBreak() override;
diff --git a/xfa/fgas/layout/cfx_txtbreak.h b/xfa/fgas/layout/cfx_txtbreak.h
index 250f5820b1..47c6440dd8 100644
--- a/xfa/fgas/layout/cfx_txtbreak.h
+++ b/xfa/fgas/layout/cfx_txtbreak.h
@@ -54,7 +54,7 @@ struct FX_TXTRUN {
bool bSkipSpace;
};
-class CFX_TxtBreak : public CFX_Break {
+class CFX_TxtBreak final : public CFX_Break {
public:
CFX_TxtBreak();
~CFX_TxtBreak() override;
diff --git a/xfa/fwl/cfwl_barcode.h b/xfa/fwl/cfwl_barcode.h
index a4991d4cf7..cd36cc3e41 100644
--- a/xfa/fwl/cfwl_barcode.h
+++ b/xfa/fwl/cfwl_barcode.h
@@ -36,7 +36,7 @@ enum FWL_BCDAttribute {
FWL_BCDATTRIBUTE_ECLEVEL = 1 << 10,
};
-class CFWL_Barcode : public CFWL_Edit {
+class CFWL_Barcode final : public CFWL_Edit {
public:
explicit CFWL_Barcode(const CFWL_App* pApp);
~CFWL_Barcode() override;
diff --git a/xfa/fwl/cfwl_caret.h b/xfa/fwl/cfwl_caret.h
index 90d62d6e9b..88bec752cc 100644
--- a/xfa/fwl/cfwl_caret.h
+++ b/xfa/fwl/cfwl_caret.h
@@ -16,7 +16,7 @@
class CFWL_WidgetProperties;
class CFWL_Widget;
-class CFWL_Caret : public CFWL_Widget {
+class CFWL_Caret final : public CFWL_Widget {
public:
CFWL_Caret(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
@@ -35,7 +35,7 @@ class CFWL_Caret : public CFWL_Widget {
void HideCaret();
private:
- class Timer : public CFWL_Timer {
+ class Timer final : public CFWL_Timer {
public:
explicit Timer(CFWL_Caret* pCaret);
~Timer() override {}
diff --git a/xfa/fwl/cfwl_checkbox.h b/xfa/fwl/cfwl_checkbox.h
index 9ae6590b2f..f2413aaca7 100644
--- a/xfa/fwl/cfwl_checkbox.h
+++ b/xfa/fwl/cfwl_checkbox.h
@@ -33,7 +33,7 @@ class CFWL_MessageMouse;
class CFWL_WidgetProperties;
class CFWL_Widget;
-class CFWL_CheckBox : public CFWL_Widget {
+class CFWL_CheckBox final : public CFWL_Widget {
public:
explicit CFWL_CheckBox(const CFWL_App* pApp);
~CFWL_CheckBox() override;
diff --git a/xfa/fwl/cfwl_combobox.h b/xfa/fwl/cfwl_combobox.h
index a5ea2d0876..f247d93ddb 100644
--- a/xfa/fwl/cfwl_combobox.h
+++ b/xfa/fwl/cfwl_combobox.h
@@ -36,7 +36,7 @@ class CFWL_Widget;
#define FWL_STYLEEXT_CMB_ListItemAlignMask (3L << 10)
#define FWL_STYLEEXT_CMB_ReadOnly (1L << 13)
-class CFWL_ComboBox : public CFWL_Widget {
+class CFWL_ComboBox final : public CFWL_Widget {
public:
explicit CFWL_ComboBox(const CFWL_App* pApp);
~CFWL_ComboBox() override;
diff --git a/xfa/fwl/cfwl_comboedit.h b/xfa/fwl/cfwl_comboedit.h
index efdabd3669..daaa8a95cb 100644
--- a/xfa/fwl/cfwl_comboedit.h
+++ b/xfa/fwl/cfwl_comboedit.h
@@ -15,7 +15,7 @@
class CFWL_ComboBox;
-class CFWL_ComboEdit : public CFWL_Edit {
+class CFWL_ComboEdit final : public CFWL_Edit {
public:
CFWL_ComboEdit(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_combolist.h b/xfa/fwl/cfwl_combolist.h
index a4d513559e..0444a93c21 100644
--- a/xfa/fwl/cfwl_combolist.h
+++ b/xfa/fwl/cfwl_combolist.h
@@ -13,7 +13,7 @@
#include "xfa/fwl/cfwl_widget.h"
#include "xfa/fwl/cfwl_widgetproperties.h"
-class CFWL_ComboList : public CFWL_ListBox {
+class CFWL_ComboList final : public CFWL_ListBox {
public:
CFWL_ComboList(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_datetimeedit.h b/xfa/fwl/cfwl_datetimeedit.h
index dcbebd2027..cc80b9e8ba 100644
--- a/xfa/fwl/cfwl_datetimeedit.h
+++ b/xfa/fwl/cfwl_datetimeedit.h
@@ -13,7 +13,7 @@
#include "xfa/fwl/cfwl_widget.h"
#include "xfa/fwl/cfwl_widgetproperties.h"
-class CFWL_DateTimeEdit : public CFWL_Edit {
+class CFWL_DateTimeEdit final : public CFWL_Edit {
public:
CFWL_DateTimeEdit(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_datetimepicker.h b/xfa/fwl/cfwl_datetimepicker.h
index f80f09d1bf..8e05ddecb1 100644
--- a/xfa/fwl/cfwl_datetimepicker.h
+++ b/xfa/fwl/cfwl_datetimepicker.h
@@ -30,7 +30,7 @@
class CFWL_DateTimeEdit;
-class CFWL_DateTimePicker : public CFWL_Widget {
+class CFWL_DateTimePicker final : public CFWL_Widget {
public:
explicit CFWL_DateTimePicker(const CFWL_App* pApp);
~CFWL_DateTimePicker() override;
diff --git a/xfa/fwl/cfwl_eventmouse.h b/xfa/fwl/cfwl_eventmouse.h
index a5caa93959..170f39af4e 100644
--- a/xfa/fwl/cfwl_eventmouse.h
+++ b/xfa/fwl/cfwl_eventmouse.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventMouse : public CFWL_Event {
+class CFWL_EventMouse final : public CFWL_Event {
public:
explicit CFWL_EventMouse(CFWL_Widget* pSrcTarget);
CFWL_EventMouse(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
diff --git a/xfa/fwl/cfwl_eventscroll.h b/xfa/fwl/cfwl_eventscroll.h
index a13eeef020..0491ad71ea 100644
--- a/xfa/fwl/cfwl_eventscroll.h
+++ b/xfa/fwl/cfwl_eventscroll.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventScroll : public CFWL_Event {
+class CFWL_EventScroll final : public CFWL_Event {
public:
enum class Code {
None = 1,
diff --git a/xfa/fwl/cfwl_eventselectchanged.h b/xfa/fwl/cfwl_eventselectchanged.h
index 30f1e2d5c7..176cb8713b 100644
--- a/xfa/fwl/cfwl_eventselectchanged.h
+++ b/xfa/fwl/cfwl_eventselectchanged.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventSelectChanged : public CFWL_Event {
+class CFWL_EventSelectChanged final : public CFWL_Event {
public:
explicit CFWL_EventSelectChanged(CFWL_Widget* pSrcTarget);
~CFWL_EventSelectChanged() override;
diff --git a/xfa/fwl/cfwl_eventtextwillchange.h b/xfa/fwl/cfwl_eventtextwillchange.h
index 4b2781f0d1..a1bfe8cdec 100644
--- a/xfa/fwl/cfwl_eventtextwillchange.h
+++ b/xfa/fwl/cfwl_eventtextwillchange.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventTextWillChange : public CFWL_Event {
+class CFWL_EventTextWillChange final : public CFWL_Event {
public:
explicit CFWL_EventTextWillChange(CFWL_Widget* pSrcTarget);
~CFWL_EventTextWillChange() override;
diff --git a/xfa/fwl/cfwl_eventvalidate.h b/xfa/fwl/cfwl_eventvalidate.h
index b8feff1120..7d88b97bb5 100644
--- a/xfa/fwl/cfwl_eventvalidate.h
+++ b/xfa/fwl/cfwl_eventvalidate.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventValidate : public CFWL_Event {
+class CFWL_EventValidate final : public CFWL_Event {
public:
explicit CFWL_EventValidate(CFWL_Widget* pSrcTarget);
~CFWL_EventValidate() override;
diff --git a/xfa/fwl/cfwl_form.h b/xfa/fwl/cfwl_form.h
index 01ae9be5c0..4e13001283 100644
--- a/xfa/fwl/cfwl_form.h
+++ b/xfa/fwl/cfwl_form.h
@@ -20,7 +20,7 @@ class CFWL_NoteLoop;
class CFWL_Widget;
class IFWL_ThemeProvider;
-class CFWL_Form : public CFWL_Widget {
+class CFWL_Form final : public CFWL_Widget {
public:
CFWL_Form(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_messagekey.h b/xfa/fwl/cfwl_messagekey.h
index bf430d3ba5..183577470d 100644
--- a/xfa/fwl/cfwl_messagekey.h
+++ b/xfa/fwl/cfwl_messagekey.h
@@ -13,7 +13,7 @@
enum class FWL_KeyCommand { KeyDown, KeyUp, Char };
-class CFWL_MessageKey : public CFWL_Message {
+class CFWL_MessageKey final : public CFWL_Message {
public:
CFWL_MessageKey(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
~CFWL_MessageKey() override;
diff --git a/xfa/fwl/cfwl_messagekillfocus.h b/xfa/fwl/cfwl_messagekillfocus.h
index 79aaebed6c..56cfc399b5 100644
--- a/xfa/fwl/cfwl_messagekillfocus.h
+++ b/xfa/fwl/cfwl_messagekillfocus.h
@@ -12,7 +12,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "xfa/fwl/cfwl_message.h"
-class CFWL_MessageKillFocus : public CFWL_Message {
+class CFWL_MessageKillFocus final : public CFWL_Message {
public:
explicit CFWL_MessageKillFocus(CFWL_Widget* pSrcTarget);
CFWL_MessageKillFocus(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
diff --git a/xfa/fwl/cfwl_messagemouse.h b/xfa/fwl/cfwl_messagemouse.h
index a2b0d39ae0..ae9711f17c 100644
--- a/xfa/fwl/cfwl_messagemouse.h
+++ b/xfa/fwl/cfwl_messagemouse.h
@@ -25,7 +25,7 @@ enum class FWL_MouseCommand {
Hover
};
-class CFWL_MessageMouse : public CFWL_Message {
+class CFWL_MessageMouse final : public CFWL_Message {
public:
CFWL_MessageMouse(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
CFWL_MessageMouse(const CFWL_MessageMouse& other);
diff --git a/xfa/fwl/cfwl_messagemousewheel.h b/xfa/fwl/cfwl_messagemousewheel.h
index f969b9a8f3..8fc3a63327 100644
--- a/xfa/fwl/cfwl_messagemousewheel.h
+++ b/xfa/fwl/cfwl_messagemousewheel.h
@@ -12,7 +12,7 @@
#include "core/fxcrt/fx_coordinates.h"
#include "xfa/fwl/cfwl_message.h"
-class CFWL_MessageMouseWheel : public CFWL_Message {
+class CFWL_MessageMouseWheel final : public CFWL_Message {
public:
CFWL_MessageMouseWheel(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
CFWL_MessageMouseWheel(const CFWL_MessageMouseWheel&);
diff --git a/xfa/fwl/cfwl_messagesetfocus.h b/xfa/fwl/cfwl_messagesetfocus.h
index 05616fbe2e..b9f0f0fb27 100644
--- a/xfa/fwl/cfwl_messagesetfocus.h
+++ b/xfa/fwl/cfwl_messagesetfocus.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/cfwl_message.h"
-class CFWL_MessageSetFocus : public CFWL_Message {
+class CFWL_MessageSetFocus final : public CFWL_Message {
public:
CFWL_MessageSetFocus(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
~CFWL_MessageSetFocus() override;
diff --git a/xfa/fwl/cfwl_monthcalendar.h b/xfa/fwl/cfwl_monthcalendar.h
index bdf66a0b5c..1bb0bd27bc 100644
--- a/xfa/fwl/cfwl_monthcalendar.h
+++ b/xfa/fwl/cfwl_monthcalendar.h
@@ -20,7 +20,7 @@
class CFWL_MessageMouse;
-class CFWL_MonthCalendar : public CFWL_Widget {
+class CFWL_MonthCalendar final : public CFWL_Widget {
public:
CFWL_MonthCalendar(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_picturebox.h b/xfa/fwl/cfwl_picturebox.h
index 363db8a291..3823a5990b 100644
--- a/xfa/fwl/cfwl_picturebox.h
+++ b/xfa/fwl/cfwl_picturebox.h
@@ -15,7 +15,7 @@
class CFX_DIBitmap;
class CFWL_Widget;
-class CFWL_PictureBox : public CFWL_Widget {
+class CFWL_PictureBox final : public CFWL_Widget {
public:
explicit CFWL_PictureBox(const CFWL_App* pApp);
~CFWL_PictureBox() override;
diff --git a/xfa/fwl/cfwl_pushbutton.h b/xfa/fwl/cfwl_pushbutton.h
index 5c509fb503..275f9b5ea3 100644
--- a/xfa/fwl/cfwl_pushbutton.h
+++ b/xfa/fwl/cfwl_pushbutton.h
@@ -19,7 +19,7 @@ class CFWL_MessageMouse;
class CFX_DIBitmap;
class CFWL_Widget;
-class CFWL_PushButton : public CFWL_Widget {
+class CFWL_PushButton final : public CFWL_Widget {
public:
explicit CFWL_PushButton(const CFWL_App*);
~CFWL_PushButton() override;
diff --git a/xfa/fwl/cfwl_scrollbar.h b/xfa/fwl/cfwl_scrollbar.h
index de394ed96d..fc5248fbf7 100644
--- a/xfa/fwl/cfwl_scrollbar.h
+++ b/xfa/fwl/cfwl_scrollbar.h
@@ -21,7 +21,7 @@ class CFWL_Widget;
#define FWL_STYLEEXT_SCB_Horz (0L << 0)
#define FWL_STYLEEXT_SCB_Vert (1L << 0)
-class CFWL_ScrollBar : public CFWL_Widget {
+class CFWL_ScrollBar final : public CFWL_Widget {
public:
CFWL_ScrollBar(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
@@ -55,7 +55,7 @@ class CFWL_ScrollBar : public CFWL_Widget {
void SetTrackPos(float fTrackPos);
private:
- class Timer : public CFWL_Timer {
+ class Timer final : public CFWL_Timer {
public:
explicit Timer(CFWL_ScrollBar* pToolTip);
~Timer() override {}
diff --git a/xfa/fwl/cfwl_themebackground.h b/xfa/fwl/cfwl_themebackground.h
index 37103ae01a..46df73c8bf 100644
--- a/xfa/fwl/cfwl_themebackground.h
+++ b/xfa/fwl/cfwl_themebackground.h
@@ -13,7 +13,7 @@
class CXFA_Graphics;
class CXFA_GEPath;
-class CFWL_ThemeBackground : public CFWL_ThemePart {
+class CFWL_ThemeBackground final : public CFWL_ThemePart {
public:
CFWL_ThemeBackground();
~CFWL_ThemeBackground();
diff --git a/xfa/fwl/cfwl_themetext.h b/xfa/fwl/cfwl_themetext.h
index 91a3f385df..a63b8bf040 100644
--- a/xfa/fwl/cfwl_themetext.h
+++ b/xfa/fwl/cfwl_themetext.h
@@ -11,7 +11,7 @@
#include "core/fxcrt/fx_system.h"
#include "xfa/fwl/cfwl_themepart.h"
-class CFWL_ThemeText : public CFWL_ThemePart {
+class CFWL_ThemeText final : public CFWL_ThemePart {
public:
CFWL_ThemeText() : m_pGraphics(nullptr) {}
diff --git a/xfa/fwl/theme/cfwl_barcodetp.h b/xfa/fwl/theme/cfwl_barcodetp.h
index 42b41e7d42..3fb9d3d9fd 100644
--- a/xfa/fwl/theme/cfwl_barcodetp.h
+++ b/xfa/fwl/theme/cfwl_barcodetp.h
@@ -10,7 +10,7 @@
#include "xfa/fwl/theme/cfwl_utils.h"
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_BarcodeTP : public CFWL_WidgetTP {
+class CFWL_BarcodeTP final : public CFWL_WidgetTP {
public:
CFWL_BarcodeTP();
~CFWL_BarcodeTP() override;
diff --git a/xfa/fwl/theme/cfwl_carettp.h b/xfa/fwl/theme/cfwl_carettp.h
index 64bf51b20a..a71afc935f 100644
--- a/xfa/fwl/theme/cfwl_carettp.h
+++ b/xfa/fwl/theme/cfwl_carettp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_CaretTP : public CFWL_WidgetTP {
+class CFWL_CaretTP final : public CFWL_WidgetTP {
public:
CFWL_CaretTP();
~CFWL_CaretTP() override;
diff --git a/xfa/fwl/theme/cfwl_checkboxtp.h b/xfa/fwl/theme/cfwl_checkboxtp.h
index c4341edf60..fa06c7ec0e 100644
--- a/xfa/fwl/theme/cfwl_checkboxtp.h
+++ b/xfa/fwl/theme/cfwl_checkboxtp.h
@@ -12,7 +12,7 @@
#include "xfa/fwl/theme/cfwl_utils.h"
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_CheckBoxTP : public CFWL_WidgetTP {
+class CFWL_CheckBoxTP final : public CFWL_WidgetTP {
public:
CFWL_CheckBoxTP();
~CFWL_CheckBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_comboboxtp.h b/xfa/fwl/theme/cfwl_comboboxtp.h
index 183d3a0743..dd8311c8a1 100644
--- a/xfa/fwl/theme/cfwl_comboboxtp.h
+++ b/xfa/fwl/theme/cfwl_comboboxtp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_ComboBoxTP : public CFWL_WidgetTP {
+class CFWL_ComboBoxTP final : public CFWL_WidgetTP {
public:
CFWL_ComboBoxTP();
~CFWL_ComboBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_datetimepickertp.h b/xfa/fwl/theme/cfwl_datetimepickertp.h
index 11536a390c..5a548511cf 100644
--- a/xfa/fwl/theme/cfwl_datetimepickertp.h
+++ b/xfa/fwl/theme/cfwl_datetimepickertp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_DateTimePickerTP : public CFWL_WidgetTP {
+class CFWL_DateTimePickerTP final : public CFWL_WidgetTP {
public:
CFWL_DateTimePickerTP();
~CFWL_DateTimePickerTP() override;
diff --git a/xfa/fwl/theme/cfwl_edittp.h b/xfa/fwl/theme/cfwl_edittp.h
index e1c6ac9242..7d005602e6 100644
--- a/xfa/fwl/theme/cfwl_edittp.h
+++ b/xfa/fwl/theme/cfwl_edittp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_EditTP : public CFWL_WidgetTP {
+class CFWL_EditTP final : public CFWL_WidgetTP {
public:
CFWL_EditTP();
~CFWL_EditTP() override;
diff --git a/xfa/fwl/theme/cfwl_listboxtp.h b/xfa/fwl/theme/cfwl_listboxtp.h
index cc4691cce0..95ce01c441 100644
--- a/xfa/fwl/theme/cfwl_listboxtp.h
+++ b/xfa/fwl/theme/cfwl_listboxtp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_ListBoxTP : public CFWL_WidgetTP {
+class CFWL_ListBoxTP final : public CFWL_WidgetTP {
public:
CFWL_ListBoxTP();
~CFWL_ListBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_monthcalendartp.h b/xfa/fwl/theme/cfwl_monthcalendartp.h
index 6a1b9be360..95e2a190b7 100644
--- a/xfa/fwl/theme/cfwl_monthcalendartp.h
+++ b/xfa/fwl/theme/cfwl_monthcalendartp.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_MonthCalendarTP : public CFWL_WidgetTP {
+class CFWL_MonthCalendarTP final : public CFWL_WidgetTP {
public:
CFWL_MonthCalendarTP();
~CFWL_MonthCalendarTP() override;
diff --git a/xfa/fwl/theme/cfwl_pictureboxtp.h b/xfa/fwl/theme/cfwl_pictureboxtp.h
index 4a118f21f8..1bb3486c44 100644
--- a/xfa/fwl/theme/cfwl_pictureboxtp.h
+++ b/xfa/fwl/theme/cfwl_pictureboxtp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_PictureBoxTP : public CFWL_WidgetTP {
+class CFWL_PictureBoxTP final : public CFWL_WidgetTP {
public:
CFWL_PictureBoxTP();
~CFWL_PictureBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_pushbuttontp.h b/xfa/fwl/theme/cfwl_pushbuttontp.h
index b2372bb066..2e1782a1b5 100644
--- a/xfa/fwl/theme/cfwl_pushbuttontp.h
+++ b/xfa/fwl/theme/cfwl_pushbuttontp.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_PushButtonTP : public CFWL_WidgetTP {
+class CFWL_PushButtonTP final : public CFWL_WidgetTP {
public:
CFWL_PushButtonTP();
~CFWL_PushButtonTP() override;
diff --git a/xfa/fwl/theme/cfwl_scrollbartp.h b/xfa/fwl/theme/cfwl_scrollbartp.h
index 8398706458..53cbb38d83 100644
--- a/xfa/fwl/theme/cfwl_scrollbartp.h
+++ b/xfa/fwl/theme/cfwl_scrollbartp.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_ScrollBarTP : public CFWL_WidgetTP {
+class CFWL_ScrollBarTP final : public CFWL_WidgetTP {
public:
CFWL_ScrollBarTP();
~CFWL_ScrollBarTP() override;
diff --git a/xfa/fxfa/cxfa_ffarc.h b/xfa/fxfa/cxfa_ffarc.h
index 8e8b292500..908ba0ad39 100644
--- a/xfa/fxfa/cxfa_ffarc.h
+++ b/xfa/fxfa/cxfa_ffarc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFArc : public CXFA_FFWidget {
+class CXFA_FFArc final : public CXFA_FFWidget {
public:
explicit CXFA_FFArc(CXFA_Node* pnode);
~CXFA_FFArc() override;
diff --git a/xfa/fxfa/cxfa_ffbarcode.h b/xfa/fxfa/cxfa_ffbarcode.h
index 672f89c316..5b550622d9 100644
--- a/xfa/fxfa/cxfa_ffbarcode.h
+++ b/xfa/fxfa/cxfa_ffbarcode.h
@@ -86,7 +86,7 @@ struct BarCodeInfo {
class CXFA_Barcode;
-class CXFA_FFBarcode : public CXFA_FFTextEdit {
+class CXFA_FFBarcode final : public CXFA_FFTextEdit {
public:
static const BarCodeInfo* GetBarcodeTypeByName(const WideString& wsName);
diff --git a/xfa/fxfa/cxfa_ffcheckbutton.h b/xfa/fxfa/cxfa_ffcheckbutton.h
index 0bbec75ee5..0d34cf9895 100644
--- a/xfa/fxfa/cxfa_ffcheckbutton.h
+++ b/xfa/fxfa/cxfa_ffcheckbutton.h
@@ -14,7 +14,7 @@
class CXFA_CheckButton;
-class CXFA_FFCheckButton : public CXFA_FFField {
+class CXFA_FFCheckButton final : public CXFA_FFField {
public:
CXFA_FFCheckButton(CXFA_Node* pNode, CXFA_CheckButton* button);
~CXFA_FFCheckButton() override;
diff --git a/xfa/fxfa/cxfa_ffcombobox.h b/xfa/fxfa/cxfa_ffcombobox.h
index ed68df0358..9ed8c40615 100644
--- a/xfa/fxfa/cxfa_ffcombobox.h
+++ b/xfa/fxfa/cxfa_ffcombobox.h
@@ -12,7 +12,7 @@
class CXFA_EventParam;
-class CXFA_FFComboBox : public CXFA_FFDropDown {
+class CXFA_FFComboBox final : public CXFA_FFDropDown {
public:
explicit CXFA_FFComboBox(CXFA_Node* pNode);
~CXFA_FFComboBox() override;
diff --git a/xfa/fxfa/cxfa_ffdatetimeedit.h b/xfa/fxfa/cxfa_ffdatetimeedit.h
index 3a60adabf0..64a6ef005b 100644
--- a/xfa/fxfa/cxfa_ffdatetimeedit.h
+++ b/xfa/fxfa/cxfa_ffdatetimeedit.h
@@ -20,7 +20,7 @@ class CFWL_DateTimePicker;
class CFWL_Event;
class CFWL_Widget;
-class CXFA_FFDateTimeEdit : public CXFA_FFTextEdit {
+class CXFA_FFDateTimeEdit final : public CXFA_FFTextEdit {
public:
explicit CXFA_FFDateTimeEdit(CXFA_Node* pNode);
~CXFA_FFDateTimeEdit() override;
diff --git a/xfa/fxfa/cxfa_ffexclgroup.h b/xfa/fxfa/cxfa_ffexclgroup.h
index b90430175f..7b16248d6a 100644
--- a/xfa/fxfa/cxfa_ffexclgroup.h
+++ b/xfa/fxfa/cxfa_ffexclgroup.h
@@ -10,7 +10,7 @@
#include "xfa/fxfa/cxfa_ffpageview.h"
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFExclGroup : public CXFA_FFWidget {
+class CXFA_FFExclGroup final : public CXFA_FFWidget {
public:
explicit CXFA_FFExclGroup(CXFA_Node* pNode);
~CXFA_FFExclGroup() override;
diff --git a/xfa/fxfa/cxfa_ffimage.h b/xfa/fxfa/cxfa_ffimage.h
index 7859f106ba..655c679ff1 100644
--- a/xfa/fxfa/cxfa_ffimage.h
+++ b/xfa/fxfa/cxfa_ffimage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFImage : public CXFA_FFWidget {
+class CXFA_FFImage final : public CXFA_FFWidget {
public:
explicit CXFA_FFImage(CXFA_Node* pNode);
~CXFA_FFImage() override;
diff --git a/xfa/fxfa/cxfa_ffimageedit.h b/xfa/fxfa/cxfa_ffimageedit.h
index c2fd7f7f62..03394485e6 100644
--- a/xfa/fxfa/cxfa_ffimageedit.h
+++ b/xfa/fxfa/cxfa_ffimageedit.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "xfa/fxfa/cxfa_fffield.h"
-class CXFA_FFImageEdit : public CXFA_FFField {
+class CXFA_FFImageEdit final : public CXFA_FFField {
public:
explicit CXFA_FFImageEdit(CXFA_Node* pNode);
~CXFA_FFImageEdit() override;
diff --git a/xfa/fxfa/cxfa_ffline.h b/xfa/fxfa/cxfa_ffline.h
index ff8d46134e..f5c82470b7 100644
--- a/xfa/fxfa/cxfa_ffline.h
+++ b/xfa/fxfa/cxfa_ffline.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFLine : public CXFA_FFWidget {
+class CXFA_FFLine final : public CXFA_FFWidget {
public:
explicit CXFA_FFLine(CXFA_Node* pNode);
~CXFA_FFLine() override;
diff --git a/xfa/fxfa/cxfa_fflistbox.h b/xfa/fxfa/cxfa_fflistbox.h
index 4b12b5924d..d65dd8f836 100644
--- a/xfa/fxfa/cxfa_fflistbox.h
+++ b/xfa/fxfa/cxfa_fflistbox.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "xfa/fxfa/cxfa_ffdropdown.h"
-class CXFA_FFListBox : public CXFA_FFDropDown {
+class CXFA_FFListBox final : public CXFA_FFDropDown {
public:
explicit CXFA_FFListBox(CXFA_Node* pNode);
~CXFA_FFListBox() override;
diff --git a/xfa/fxfa/cxfa_ffnumericedit.h b/xfa/fxfa/cxfa_ffnumericedit.h
index 8982ee06af..b2c39ce22e 100644
--- a/xfa/fxfa/cxfa_ffnumericedit.h
+++ b/xfa/fxfa/cxfa_ffnumericedit.h
@@ -13,7 +13,7 @@
class CFWL_Event;
class CFWL_Widget;
-class CXFA_FFNumericEdit : public CXFA_FFTextEdit {
+class CXFA_FFNumericEdit final : public CXFA_FFTextEdit {
public:
explicit CXFA_FFNumericEdit(CXFA_Node* pNode);
~CXFA_FFNumericEdit() override;
diff --git a/xfa/fxfa/cxfa_ffpageview.h b/xfa/fxfa/cxfa_ffpageview.h
index 31ce63f8d9..a745b0639b 100644
--- a/xfa/fxfa/cxfa_ffpageview.h
+++ b/xfa/fxfa/cxfa_ffpageview.h
@@ -17,7 +17,7 @@
class CXFA_FFWidget;
class CXFA_FFDocView;
-class CXFA_FFPageView : public CXFA_ContainerLayoutItem {
+class CXFA_FFPageView final : public CXFA_ContainerLayoutItem {
public:
CXFA_FFPageView(CXFA_FFDocView* pDocView, CXFA_Node* pPageArea);
~CXFA_FFPageView() override;
@@ -33,7 +33,7 @@ class CXFA_FFPageView : public CXFA_ContainerLayoutItem {
UnownedPtr<CXFA_FFDocView> const m_pDocView;
};
-class CXFA_FFPageWidgetIterator : public IXFA_WidgetIterator {
+class CXFA_FFPageWidgetIterator final : public IXFA_WidgetIterator {
public:
CXFA_FFPageWidgetIterator(CXFA_FFPageView* pPageView, uint32_t dwFilter);
~CXFA_FFPageWidgetIterator() override;
@@ -71,7 +71,7 @@ class CXFA_TabParam {
std::vector<CXFA_FFWidget*> m_Children;
};
-class CXFA_FFTabOrderPageWidgetIterator : public IXFA_WidgetIterator {
+class CXFA_FFTabOrderPageWidgetIterator final : public IXFA_WidgetIterator {
public:
CXFA_FFTabOrderPageWidgetIterator(CXFA_FFPageView* pPageView,
uint32_t dwFilter);
diff --git a/xfa/fxfa/cxfa_ffpasswordedit.h b/xfa/fxfa/cxfa_ffpasswordedit.h
index 8f5093f181..3af4f9661e 100644
--- a/xfa/fxfa/cxfa_ffpasswordedit.h
+++ b/xfa/fxfa/cxfa_ffpasswordedit.h
@@ -12,7 +12,7 @@
class CXFA_PasswordEdit;
-class CXFA_FFPasswordEdit : public CXFA_FFTextEdit {
+class CXFA_FFPasswordEdit final : public CXFA_FFTextEdit {
public:
CXFA_FFPasswordEdit(CXFA_Node* pNode, CXFA_PasswordEdit* password_node);
~CXFA_FFPasswordEdit() override;
diff --git a/xfa/fxfa/cxfa_ffpushbutton.h b/xfa/fxfa/cxfa_ffpushbutton.h
index 9c12daccbc..604497a2be 100644
--- a/xfa/fxfa/cxfa_ffpushbutton.h
+++ b/xfa/fxfa/cxfa_ffpushbutton.h
@@ -20,7 +20,7 @@ class CXFA_Button;
class CXFA_TextLayout;
class CXFA_TextProvider;
-class CXFA_FFPushButton : public CXFA_FFField {
+class CXFA_FFPushButton final : public CXFA_FFField {
public:
CXFA_FFPushButton(CXFA_Node* pNode, CXFA_Button* button);
~CXFA_FFPushButton() override;
diff --git a/xfa/fxfa/cxfa_ffrectangle.h b/xfa/fxfa/cxfa_ffrectangle.h
index d05f4d7f81..c1f586411d 100644
--- a/xfa/fxfa/cxfa_ffrectangle.h
+++ b/xfa/fxfa/cxfa_ffrectangle.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFRectangle : public CXFA_FFWidget {
+class CXFA_FFRectangle final : public CXFA_FFWidget {
public:
explicit CXFA_FFRectangle(CXFA_Node* pNode);
~CXFA_FFRectangle() override;
diff --git a/xfa/fxfa/cxfa_fftext.h b/xfa/fxfa/cxfa_fftext.h
index 9da39d4f73..7561fdc38a 100644
--- a/xfa/fxfa/cxfa_fftext.h
+++ b/xfa/fxfa/cxfa_fftext.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFText : public CXFA_FFWidget {
+class CXFA_FFText final : public CXFA_FFWidget {
public:
explicit CXFA_FFText(CXFA_Node* pNode);
~CXFA_FFText() override;
diff --git a/xfa/fxfa/cxfa_linkuserdata.h b/xfa/fxfa/cxfa_linkuserdata.h
index f62bd3c044..baa39aaf56 100644
--- a/xfa/fxfa/cxfa_linkuserdata.h
+++ b/xfa/fxfa/cxfa_linkuserdata.h
@@ -11,7 +11,7 @@
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/retain_ptr.h"
-class CXFA_LinkUserData : public Retainable {
+class CXFA_LinkUserData final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/xfa/fxfa/cxfa_textparser_unittest.cpp b/xfa/fxfa/cxfa_textparser_unittest.cpp
index bd748cd494..5198638f05 100644
--- a/xfa/fxfa/cxfa_textparser_unittest.cpp
+++ b/xfa/fxfa/cxfa_textparser_unittest.cpp
@@ -6,7 +6,7 @@
#include "testing/gtest/include/gtest/gtest.h"
-class CXFA_TestTextParser : public CXFA_TextParser {
+class CXFA_TestTextParser final : public CXFA_TextParser {
public:
CXFA_TestTextParser() : CXFA_TextParser() {}
diff --git a/xfa/fxfa/cxfa_textuserdata.h b/xfa/fxfa/cxfa_textuserdata.h
index c1af217bf1..1fe4fae6c4 100644
--- a/xfa/fxfa/cxfa_textuserdata.h
+++ b/xfa/fxfa/cxfa_textuserdata.h
@@ -12,7 +12,7 @@
class CFX_CSSComputedStyle;
class CXFA_LinkUserData;
-class CXFA_TextUserData : public Retainable {
+class CXFA_TextUserData final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/xfa/fxfa/fm2js/cxfa_fmexpression.h b/xfa/fxfa/fm2js/cxfa_fmexpression.h
index bff62c185b..c20d76b075 100644
--- a/xfa/fxfa/fm2js/cxfa_fmexpression.h
+++ b/xfa/fxfa/fm2js/cxfa_fmexpression.h
@@ -23,7 +23,7 @@ class CXFA_FMExpression {
CXFA_FMExpression();
};
-class CXFA_FMFunctionDefinition : public CXFA_FMExpression {
+class CXFA_FMFunctionDefinition final : public CXFA_FMExpression {
public:
CXFA_FMFunctionDefinition(
const WideStringView& wsName,
@@ -51,7 +51,7 @@ class CXFA_FMAST {
std::vector<std::unique_ptr<CXFA_FMExpression>> expressions_;
};
-class CXFA_FMVarExpression : public CXFA_FMExpression {
+class CXFA_FMVarExpression final : public CXFA_FMExpression {
public:
CXFA_FMVarExpression(const WideStringView& wsName,
std::unique_ptr<CXFA_FMSimpleExpression> pInit);
@@ -64,7 +64,7 @@ class CXFA_FMVarExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pInit;
};
-class CXFA_FMExpExpression : public CXFA_FMExpression {
+class CXFA_FMExpExpression final : public CXFA_FMExpression {
public:
explicit CXFA_FMExpExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pExpression);
@@ -76,7 +76,7 @@ class CXFA_FMExpExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExpression;
};
-class CXFA_FMBlockExpression : public CXFA_FMExpression {
+class CXFA_FMBlockExpression final : public CXFA_FMExpression {
public:
CXFA_FMBlockExpression(
std::vector<std::unique_ptr<CXFA_FMExpression>>&& pExpressionList);
@@ -88,7 +88,7 @@ class CXFA_FMBlockExpression : public CXFA_FMExpression {
std::vector<std::unique_ptr<CXFA_FMExpression>> m_ExpressionList;
};
-class CXFA_FMDoExpression : public CXFA_FMExpression {
+class CXFA_FMDoExpression final : public CXFA_FMExpression {
public:
explicit CXFA_FMDoExpression(std::unique_ptr<CXFA_FMExpression> pList);
~CXFA_FMDoExpression() override;
@@ -99,7 +99,7 @@ class CXFA_FMDoExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pList;
};
-class CXFA_FMIfExpression : public CXFA_FMExpression {
+class CXFA_FMIfExpression final : public CXFA_FMExpression {
public:
CXFA_FMIfExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pExpression,
@@ -117,7 +117,7 @@ class CXFA_FMIfExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pElseExpression;
};
-class CXFA_FMWhileExpression : public CXFA_FMExpression {
+class CXFA_FMWhileExpression final : public CXFA_FMExpression {
public:
CXFA_FMWhileExpression(std::unique_ptr<CXFA_FMSimpleExpression> pCodition,
std::unique_ptr<CXFA_FMExpression> pExpression);
@@ -130,7 +130,7 @@ class CXFA_FMWhileExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pExpression;
};
-class CXFA_FMBreakExpression : public CXFA_FMExpression {
+class CXFA_FMBreakExpression final : public CXFA_FMExpression {
public:
CXFA_FMBreakExpression();
~CXFA_FMBreakExpression() override;
@@ -138,7 +138,7 @@ class CXFA_FMBreakExpression : public CXFA_FMExpression {
bool ToJavaScript(CFX_WideTextBuf* js, ReturnType type) override;
};
-class CXFA_FMContinueExpression : public CXFA_FMExpression {
+class CXFA_FMContinueExpression final : public CXFA_FMExpression {
public:
CXFA_FMContinueExpression();
~CXFA_FMContinueExpression() override;
@@ -146,7 +146,7 @@ class CXFA_FMContinueExpression : public CXFA_FMExpression {
bool ToJavaScript(CFX_WideTextBuf* js, ReturnType type) override;
};
-class CXFA_FMForExpression : public CXFA_FMExpression {
+class CXFA_FMForExpression final : public CXFA_FMExpression {
public:
CXFA_FMForExpression(const WideStringView& wsVariant,
std::unique_ptr<CXFA_FMSimpleExpression> pAssignment,
@@ -167,7 +167,7 @@ class CXFA_FMForExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pList;
};
-class CXFA_FMForeachExpression : public CXFA_FMExpression {
+class CXFA_FMForeachExpression final : public CXFA_FMExpression {
public:
// Takes ownership of |pAccessors|.
CXFA_FMForeachExpression(
diff --git a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
index 0f3df31081..275d7d4fcb 100644
--- a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
+++ b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
@@ -36,7 +36,7 @@ class CXFA_FMSimpleExpression {
const XFA_FM_TOKEN m_op;
};
-class CXFA_FMNullExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMNullExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMNullExpression();
~CXFA_FMNullExpression() override {}
@@ -44,7 +44,7 @@ class CXFA_FMNullExpression : public CXFA_FMSimpleExpression {
bool ToJavaScript(CFX_WideTextBuf* js, ReturnType type) override;
};
-class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMNumberExpression final : public CXFA_FMSimpleExpression {
public:
explicit CXFA_FMNumberExpression(WideStringView wsNumber);
~CXFA_FMNumberExpression() override;
@@ -55,7 +55,7 @@ class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
WideStringView m_wsNumber;
};
-class CXFA_FMStringExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMStringExpression final : public CXFA_FMSimpleExpression {
public:
explicit CXFA_FMStringExpression(WideStringView wsString);
~CXFA_FMStringExpression() override;
@@ -66,7 +66,7 @@ class CXFA_FMStringExpression : public CXFA_FMSimpleExpression {
WideStringView m_wsString;
};
-class CXFA_FMIdentifierExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMIdentifierExpression final : public CXFA_FMSimpleExpression {
public:
explicit CXFA_FMIdentifierExpression(WideStringView wsIdentifier);
~CXFA_FMIdentifierExpression() override;
@@ -77,7 +77,7 @@ class CXFA_FMIdentifierExpression : public CXFA_FMSimpleExpression {
WideStringView m_wsIdentifier;
};
-class CXFA_FMAssignExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMAssignExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMAssignExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -109,7 +109,7 @@ class CXFA_FMBinExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp2;
};
-class CXFA_FMLogicalOrExpression : public CXFA_FMBinExpression {
+class CXFA_FMLogicalOrExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLogicalOrExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -117,7 +117,7 @@ class CXFA_FMLogicalOrExpression : public CXFA_FMBinExpression {
~CXFA_FMLogicalOrExpression() override {}
};
-class CXFA_FMLogicalAndExpression : public CXFA_FMBinExpression {
+class CXFA_FMLogicalAndExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLogicalAndExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -125,7 +125,7 @@ class CXFA_FMLogicalAndExpression : public CXFA_FMBinExpression {
~CXFA_FMLogicalAndExpression() override {}
};
-class CXFA_FMEqualExpression : public CXFA_FMBinExpression {
+class CXFA_FMEqualExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMEqualExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -133,7 +133,7 @@ class CXFA_FMEqualExpression : public CXFA_FMBinExpression {
~CXFA_FMEqualExpression() override {}
};
-class CXFA_FMNotEqualExpression : public CXFA_FMBinExpression {
+class CXFA_FMNotEqualExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMNotEqualExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -141,7 +141,7 @@ class CXFA_FMNotEqualExpression : public CXFA_FMBinExpression {
~CXFA_FMNotEqualExpression() override {}
};
-class CXFA_FMGtExpression : public CXFA_FMBinExpression {
+class CXFA_FMGtExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMGtExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -149,7 +149,7 @@ class CXFA_FMGtExpression : public CXFA_FMBinExpression {
~CXFA_FMGtExpression() override {}
};
-class CXFA_FMGeExpression : public CXFA_FMBinExpression {
+class CXFA_FMGeExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMGeExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -157,7 +157,7 @@ class CXFA_FMGeExpression : public CXFA_FMBinExpression {
~CXFA_FMGeExpression() override {}
};
-class CXFA_FMLtExpression : public CXFA_FMBinExpression {
+class CXFA_FMLtExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLtExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -165,7 +165,7 @@ class CXFA_FMLtExpression : public CXFA_FMBinExpression {
~CXFA_FMLtExpression() override {}
};
-class CXFA_FMLeExpression : public CXFA_FMBinExpression {
+class CXFA_FMLeExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLeExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -173,7 +173,7 @@ class CXFA_FMLeExpression : public CXFA_FMBinExpression {
~CXFA_FMLeExpression() override {}
};
-class CXFA_FMPlusExpression : public CXFA_FMBinExpression {
+class CXFA_FMPlusExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMPlusExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -181,7 +181,7 @@ class CXFA_FMPlusExpression : public CXFA_FMBinExpression {
~CXFA_FMPlusExpression() override {}
};
-class CXFA_FMMinusExpression : public CXFA_FMBinExpression {
+class CXFA_FMMinusExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMMinusExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -189,7 +189,7 @@ class CXFA_FMMinusExpression : public CXFA_FMBinExpression {
~CXFA_FMMinusExpression() override {}
};
-class CXFA_FMMulExpression : public CXFA_FMBinExpression {
+class CXFA_FMMulExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMMulExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -197,7 +197,7 @@ class CXFA_FMMulExpression : public CXFA_FMBinExpression {
~CXFA_FMMulExpression() override {}
};
-class CXFA_FMDivExpression : public CXFA_FMBinExpression {
+class CXFA_FMDivExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMDivExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -221,25 +221,25 @@ class CXFA_FMUnaryExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp;
};
-class CXFA_FMPosExpression : public CXFA_FMUnaryExpression {
+class CXFA_FMPosExpression final : public CXFA_FMUnaryExpression {
public:
explicit CXFA_FMPosExpression(std::unique_ptr<CXFA_FMSimpleExpression> pExp);
~CXFA_FMPosExpression() override {}
};
-class CXFA_FMNegExpression : public CXFA_FMUnaryExpression {
+class CXFA_FMNegExpression final : public CXFA_FMUnaryExpression {
public:
explicit CXFA_FMNegExpression(std::unique_ptr<CXFA_FMSimpleExpression> pExp);
~CXFA_FMNegExpression() override {}
};
-class CXFA_FMNotExpression : public CXFA_FMUnaryExpression {
+class CXFA_FMNotExpression final : public CXFA_FMUnaryExpression {
public:
explicit CXFA_FMNotExpression(std::unique_ptr<CXFA_FMSimpleExpression> pExp);
~CXFA_FMNotExpression() override {}
};
-class CXFA_FMCallExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMCallExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMCallExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pExp,
@@ -257,7 +257,7 @@ class CXFA_FMCallExpression : public CXFA_FMSimpleExpression {
std::vector<std::unique_ptr<CXFA_FMSimpleExpression>> m_Arguments;
};
-class CXFA_FMDotAccessorExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMDotAccessorExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMDotAccessorExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pAccessor,
@@ -274,7 +274,7 @@ class CXFA_FMDotAccessorExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp2;
};
-class CXFA_FMIndexExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMIndexExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMIndexExpression(XFA_FM_AccessorIndex accessorIndex,
std::unique_ptr<CXFA_FMSimpleExpression> pIndexExp,
@@ -289,7 +289,7 @@ class CXFA_FMIndexExpression : public CXFA_FMSimpleExpression {
bool m_bIsStarIndex;
};
-class CXFA_FMDotDotAccessorExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMDotDotAccessorExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMDotDotAccessorExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pAccessor,
@@ -306,7 +306,7 @@ class CXFA_FMDotDotAccessorExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp2;
};
-class CXFA_FMMethodCallExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMMethodCallExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMMethodCallExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pAccessorExp1,
diff --git a/xfa/fxfa/parser/cscript_datawindow.h b/xfa/fxfa/parser/cscript_datawindow.h
index 85a0a935e8..ceed58e0f2 100644
--- a/xfa/fxfa/parser/cscript_datawindow.h
+++ b/xfa/fxfa/parser/cscript_datawindow.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_DataWindow : public CXFA_Object {
+class CScript_DataWindow final : public CXFA_Object {
public:
explicit CScript_DataWindow(CXFA_Document* pDocument);
~CScript_DataWindow() override;
diff --git a/xfa/fxfa/parser/cscript_eventpseudomodel.h b/xfa/fxfa/parser/cscript_eventpseudomodel.h
index 22957f3c81..810416299c 100644
--- a/xfa/fxfa/parser/cscript_eventpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_eventpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_EventPseudoModel : public CXFA_Object {
+class CScript_EventPseudoModel final : public CXFA_Object {
public:
explicit CScript_EventPseudoModel(CXFA_Document* pDocument);
~CScript_EventPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_hostpseudomodel.h b/xfa/fxfa/parser/cscript_hostpseudomodel.h
index 8fb06c5e9c..c8af249868 100644
--- a/xfa/fxfa/parser/cscript_hostpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_hostpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_HostPseudoModel : public CXFA_Object {
+class CScript_HostPseudoModel final : public CXFA_Object {
public:
explicit CScript_HostPseudoModel(CXFA_Document* pDocument);
~CScript_HostPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_layoutpseudomodel.h b/xfa/fxfa/parser/cscript_layoutpseudomodel.h
index 0b49505836..e88a6aafba 100644
--- a/xfa/fxfa/parser/cscript_layoutpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_layoutpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_LayoutPseudoModel : public CXFA_Object {
+class CScript_LayoutPseudoModel final : public CXFA_Object {
public:
explicit CScript_LayoutPseudoModel(CXFA_Document* pDocument);
~CScript_LayoutPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_logpseudomodel.h b/xfa/fxfa/parser/cscript_logpseudomodel.h
index e4a33f4aae..aa11bea6f5 100644
--- a/xfa/fxfa/parser/cscript_logpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_logpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_LogPseudoModel : public CXFA_Object {
+class CScript_LogPseudoModel final : public CXFA_Object {
public:
explicit CScript_LogPseudoModel(CXFA_Document* pDocument);
~CScript_LogPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_signaturepseudomodel.h b/xfa/fxfa/parser/cscript_signaturepseudomodel.h
index c2ecb2b606..532a767dd9 100644
--- a/xfa/fxfa/parser/cscript_signaturepseudomodel.h
+++ b/xfa/fxfa/parser/cscript_signaturepseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_SignaturePseudoModel : public CXFA_Object {
+class CScript_SignaturePseudoModel final : public CXFA_Object {
public:
explicit CScript_SignaturePseudoModel(CXFA_Document* pDocument);
~CScript_SignaturePseudoModel() override;
diff --git a/xfa/fxfa/parser/cxfa_accessiblecontent.h b/xfa/fxfa/parser/cxfa_accessiblecontent.h
index 84ad8fca52..2aea151858 100644
--- a/xfa/fxfa/parser/cxfa_accessiblecontent.h
+++ b/xfa/fxfa/parser/cxfa_accessiblecontent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AccessibleContent : public CXFA_Node {
+class CXFA_AccessibleContent final : public CXFA_Node {
public:
CXFA_AccessibleContent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AccessibleContent() override;
diff --git a/xfa/fxfa/parser/cxfa_acrobat.h b/xfa/fxfa/parser/cxfa_acrobat.h
index 3701d591e7..5711178364 100644
--- a/xfa/fxfa/parser/cxfa_acrobat.h
+++ b/xfa/fxfa/parser/cxfa_acrobat.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Acrobat : public CXFA_Node {
+class CXFA_Acrobat final : public CXFA_Node {
public:
CXFA_Acrobat(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Acrobat() override;
diff --git a/xfa/fxfa/parser/cxfa_acrobat7.h b/xfa/fxfa/parser/cxfa_acrobat7.h
index 579864ac1b..8f64044127 100644
--- a/xfa/fxfa/parser/cxfa_acrobat7.h
+++ b/xfa/fxfa/parser/cxfa_acrobat7.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Acrobat7 : public CXFA_Node {
+class CXFA_Acrobat7 final : public CXFA_Node {
public:
CXFA_Acrobat7(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Acrobat7() override;
diff --git a/xfa/fxfa/parser/cxfa_adbe_jsconsole.h b/xfa/fxfa/parser/cxfa_adbe_jsconsole.h
index 9fab6a11db..e894479550 100644
--- a/xfa/fxfa/parser/cxfa_adbe_jsconsole.h
+++ b/xfa/fxfa/parser/cxfa_adbe_jsconsole.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_aDBE_JSConsole : public CXFA_Node {
+class CXFA_aDBE_JSConsole final : public CXFA_Node {
public:
CXFA_aDBE_JSConsole(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_aDBE_JSConsole() override;
diff --git a/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h b/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h
index ed821d4d0d..f7da53502c 100644
--- a/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h
+++ b/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_aDBE_JSDebugger : public CXFA_Node {
+class CXFA_aDBE_JSDebugger final : public CXFA_Node {
public:
CXFA_aDBE_JSDebugger(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_aDBE_JSDebugger() override;
diff --git a/xfa/fxfa/parser/cxfa_addsilentprint.h b/xfa/fxfa/parser/cxfa_addsilentprint.h
index a2519692da..abfff47257 100644
--- a/xfa/fxfa/parser/cxfa_addsilentprint.h
+++ b/xfa/fxfa/parser/cxfa_addsilentprint.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AddSilentPrint : public CXFA_Node {
+class CXFA_AddSilentPrint final : public CXFA_Node {
public:
CXFA_AddSilentPrint(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AddSilentPrint() override;
diff --git a/xfa/fxfa/parser/cxfa_addviewerpreferences.h b/xfa/fxfa/parser/cxfa_addviewerpreferences.h
index cf10868b0c..62fd6e3d12 100644
--- a/xfa/fxfa/parser/cxfa_addviewerpreferences.h
+++ b/xfa/fxfa/parser/cxfa_addviewerpreferences.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AddViewerPreferences : public CXFA_Node {
+class CXFA_AddViewerPreferences final : public CXFA_Node {
public:
CXFA_AddViewerPreferences(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AddViewerPreferences() override;
diff --git a/xfa/fxfa/parser/cxfa_adjustdata.h b/xfa/fxfa/parser/cxfa_adjustdata.h
index 3c004c2a6a..463f2e6780 100644
--- a/xfa/fxfa/parser/cxfa_adjustdata.h
+++ b/xfa/fxfa/parser/cxfa_adjustdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AdjustData : public CXFA_Node {
+class CXFA_AdjustData final : public CXFA_Node {
public:
CXFA_AdjustData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AdjustData() override;
diff --git a/xfa/fxfa/parser/cxfa_adobeextensionlevel.h b/xfa/fxfa/parser/cxfa_adobeextensionlevel.h
index 91a830f251..5e0a507829 100644
--- a/xfa/fxfa/parser/cxfa_adobeextensionlevel.h
+++ b/xfa/fxfa/parser/cxfa_adobeextensionlevel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AdobeExtensionLevel : public CXFA_Node {
+class CXFA_AdobeExtensionLevel final : public CXFA_Node {
public:
CXFA_AdobeExtensionLevel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AdobeExtensionLevel() override;
diff --git a/xfa/fxfa/parser/cxfa_agent.h b/xfa/fxfa/parser/cxfa_agent.h
index 65d826d0ce..a84d2ac847 100644
--- a/xfa/fxfa/parser/cxfa_agent.h
+++ b/xfa/fxfa/parser/cxfa_agent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Agent : public CXFA_Node {
+class CXFA_Agent final : public CXFA_Node {
public:
CXFA_Agent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Agent() override;
diff --git a/xfa/fxfa/parser/cxfa_alwaysembed.h b/xfa/fxfa/parser/cxfa_alwaysembed.h
index 178097647b..754fd893f6 100644
--- a/xfa/fxfa/parser/cxfa_alwaysembed.h
+++ b/xfa/fxfa/parser/cxfa_alwaysembed.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AlwaysEmbed : public CXFA_Node {
+class CXFA_AlwaysEmbed final : public CXFA_Node {
public:
CXFA_AlwaysEmbed(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AlwaysEmbed() override;
diff --git a/xfa/fxfa/parser/cxfa_amd.h b/xfa/fxfa/parser/cxfa_amd.h
index 951c6ca186..6d6562c2f7 100644
--- a/xfa/fxfa/parser/cxfa_amd.h
+++ b/xfa/fxfa/parser/cxfa_amd.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Amd : public CXFA_Node {
+class CXFA_Amd final : public CXFA_Node {
public:
CXFA_Amd(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Amd() override;
diff --git a/xfa/fxfa/parser/cxfa_appearancefilter.h b/xfa/fxfa/parser/cxfa_appearancefilter.h
index 341232ef28..80b0ba4693 100644
--- a/xfa/fxfa/parser/cxfa_appearancefilter.h
+++ b/xfa/fxfa/parser/cxfa_appearancefilter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AppearanceFilter : public CXFA_Node {
+class CXFA_AppearanceFilter final : public CXFA_Node {
public:
CXFA_AppearanceFilter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AppearanceFilter() override;
diff --git a/xfa/fxfa/parser/cxfa_arc.h b/xfa/fxfa/parser/cxfa_arc.h
index fd903aa249..70d1b004f0 100644
--- a/xfa/fxfa/parser/cxfa_arc.h
+++ b/xfa/fxfa/parser/cxfa_arc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_box.h"
-class CXFA_Arc : public CXFA_Box {
+class CXFA_Arc final : public CXFA_Box {
public:
CXFA_Arc(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Arc() override;
diff --git a/xfa/fxfa/parser/cxfa_area.h b/xfa/fxfa/parser/cxfa_area.h
index 6568e73530..cf1ff872c7 100644
--- a/xfa/fxfa/parser/cxfa_area.h
+++ b/xfa/fxfa/parser/cxfa_area.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Area : public CXFA_Node {
+class CXFA_Area final : public CXFA_Node {
public:
CXFA_Area(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Area() override;
diff --git a/xfa/fxfa/parser/cxfa_arraynodelist.h b/xfa/fxfa/parser/cxfa_arraynodelist.h
index dc798bcd59..d723df343d 100644
--- a/xfa/fxfa/parser/cxfa_arraynodelist.h
+++ b/xfa/fxfa/parser/cxfa_arraynodelist.h
@@ -14,7 +14,7 @@
class CXFA_Document;
class CXFA_Node;
-class CXFA_ArrayNodeList : public CXFA_TreeList {
+class CXFA_ArrayNodeList final : public CXFA_TreeList {
public:
explicit CXFA_ArrayNodeList(CXFA_Document* pDocument);
~CXFA_ArrayNodeList() override;
diff --git a/xfa/fxfa/parser/cxfa_assist.h b/xfa/fxfa/parser/cxfa_assist.h
index d0e9020a7e..77643cfeed 100644
--- a/xfa/fxfa/parser/cxfa_assist.h
+++ b/xfa/fxfa/parser/cxfa_assist.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Assist : public CXFA_Node {
+class CXFA_Assist final : public CXFA_Node {
public:
CXFA_Assist(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Assist() override;
diff --git a/xfa/fxfa/parser/cxfa_attachnodelist.h b/xfa/fxfa/parser/cxfa_attachnodelist.h
index f4cebe48f8..a8248e6c1a 100644
--- a/xfa/fxfa/parser/cxfa_attachnodelist.h
+++ b/xfa/fxfa/parser/cxfa_attachnodelist.h
@@ -12,7 +12,7 @@
class CXFA_Document;
class CXFA_Node;
-class CXFA_AttachNodeList : public CXFA_TreeList {
+class CXFA_AttachNodeList final : public CXFA_TreeList {
public:
CXFA_AttachNodeList(CXFA_Document* pDocument, CXFA_Node* pAttachNode);
~CXFA_AttachNodeList() override;
diff --git a/xfa/fxfa/parser/cxfa_attributes.h b/xfa/fxfa/parser/cxfa_attributes.h
index fd73da87cf..099ecea05a 100644
--- a/xfa/fxfa/parser/cxfa_attributes.h
+++ b/xfa/fxfa/parser/cxfa_attributes.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Attributes : public CXFA_Node {
+class CXFA_Attributes final : public CXFA_Node {
public:
CXFA_Attributes(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Attributes() override;
diff --git a/xfa/fxfa/parser/cxfa_autosave.h b/xfa/fxfa/parser/cxfa_autosave.h
index b58ccf14a5..5324351e92 100644
--- a/xfa/fxfa/parser/cxfa_autosave.h
+++ b/xfa/fxfa/parser/cxfa_autosave.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AutoSave : public CXFA_Node {
+class CXFA_AutoSave final : public CXFA_Node {
public:
CXFA_AutoSave(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AutoSave() override;
diff --git a/xfa/fxfa/parser/cxfa_barcode.h b/xfa/fxfa/parser/cxfa_barcode.h
index 463e97f236..bf503e5d5c 100644
--- a/xfa/fxfa/parser/cxfa_barcode.h
+++ b/xfa/fxfa/parser/cxfa_barcode.h
@@ -11,7 +11,7 @@
#include "third_party/base/optional.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Barcode : public CXFA_Node {
+class CXFA_Barcode final : public CXFA_Node {
public:
CXFA_Barcode(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Barcode() override;
diff --git a/xfa/fxfa/parser/cxfa_base.h b/xfa/fxfa/parser/cxfa_base.h
index 3974343a15..3f1c9ba2df 100644
--- a/xfa/fxfa/parser/cxfa_base.h
+++ b/xfa/fxfa/parser/cxfa_base.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Base : public CXFA_Node {
+class CXFA_Base final : public CXFA_Node {
public:
CXFA_Base(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Base() override;
diff --git a/xfa/fxfa/parser/cxfa_batchoutput.h b/xfa/fxfa/parser/cxfa_batchoutput.h
index 9faa6cfcca..8d1de09b12 100644
--- a/xfa/fxfa/parser/cxfa_batchoutput.h
+++ b/xfa/fxfa/parser/cxfa_batchoutput.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BatchOutput : public CXFA_Node {
+class CXFA_BatchOutput final : public CXFA_Node {
public:
CXFA_BatchOutput(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BatchOutput() override;
diff --git a/xfa/fxfa/parser/cxfa_behavioroverride.h b/xfa/fxfa/parser/cxfa_behavioroverride.h
index cb08211211..d7dce1b877 100644
--- a/xfa/fxfa/parser/cxfa_behavioroverride.h
+++ b/xfa/fxfa/parser/cxfa_behavioroverride.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BehaviorOverride : public CXFA_Node {
+class CXFA_BehaviorOverride final : public CXFA_Node {
public:
CXFA_BehaviorOverride(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BehaviorOverride() override;
diff --git a/xfa/fxfa/parser/cxfa_bind.h b/xfa/fxfa/parser/cxfa_bind.h
index 1924cb6f78..f6331d6707 100644
--- a/xfa/fxfa/parser/cxfa_bind.h
+++ b/xfa/fxfa/parser/cxfa_bind.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Bind : public CXFA_Node {
+class CXFA_Bind final : public CXFA_Node {
public:
CXFA_Bind(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Bind() override;
diff --git a/xfa/fxfa/parser/cxfa_binditems.h b/xfa/fxfa/parser/cxfa_binditems.h
index f1a490d13e..34a4b6746f 100644
--- a/xfa/fxfa/parser/cxfa_binditems.h
+++ b/xfa/fxfa/parser/cxfa_binditems.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BindItems : public CXFA_Node {
+class CXFA_BindItems final : public CXFA_Node {
public:
CXFA_BindItems(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BindItems() override;
diff --git a/xfa/fxfa/parser/cxfa_bookend.h b/xfa/fxfa/parser/cxfa_bookend.h
index 82eb13c767..1c68763003 100644
--- a/xfa/fxfa/parser/cxfa_bookend.h
+++ b/xfa/fxfa/parser/cxfa_bookend.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Bookend : public CXFA_Node {
+class CXFA_Bookend final : public CXFA_Node {
public:
CXFA_Bookend(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Bookend() override;
diff --git a/xfa/fxfa/parser/cxfa_boolean.h b/xfa/fxfa/parser/cxfa_boolean.h
index 4121e36409..60b8e5ec68 100644
--- a/xfa/fxfa/parser/cxfa_boolean.h
+++ b/xfa/fxfa/parser/cxfa_boolean.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Boolean : public CXFA_Node {
+class CXFA_Boolean final : public CXFA_Node {
public:
CXFA_Boolean(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Boolean() override;
diff --git a/xfa/fxfa/parser/cxfa_border.h b/xfa/fxfa/parser/cxfa_border.h
index 24f3bb98be..6071a77d9f 100644
--- a/xfa/fxfa/parser/cxfa_border.h
+++ b/xfa/fxfa/parser/cxfa_border.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_rectangle.h"
-class CXFA_Border : public CXFA_Rectangle {
+class CXFA_Border final : public CXFA_Rectangle {
public:
CXFA_Border(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Border() override;
diff --git a/xfa/fxfa/parser/cxfa_break.h b/xfa/fxfa/parser/cxfa_break.h
index c0d937c513..4bf7dde014 100644
--- a/xfa/fxfa/parser/cxfa_break.h
+++ b/xfa/fxfa/parser/cxfa_break.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Break : public CXFA_Node {
+class CXFA_Break final : public CXFA_Node {
public:
CXFA_Break(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Break() override;
diff --git a/xfa/fxfa/parser/cxfa_breakafter.h b/xfa/fxfa/parser/cxfa_breakafter.h
index 952b0c9a99..c607ef5681 100644
--- a/xfa/fxfa/parser/cxfa_breakafter.h
+++ b/xfa/fxfa/parser/cxfa_breakafter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BreakAfter : public CXFA_Node {
+class CXFA_BreakAfter final : public CXFA_Node {
public:
CXFA_BreakAfter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BreakAfter() override;
diff --git a/xfa/fxfa/parser/cxfa_breakbefore.h b/xfa/fxfa/parser/cxfa_breakbefore.h
index 358e477993..1b6dc636d1 100644
--- a/xfa/fxfa/parser/cxfa_breakbefore.h
+++ b/xfa/fxfa/parser/cxfa_breakbefore.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BreakBefore : public CXFA_Node {
+class CXFA_BreakBefore final : public CXFA_Node {
public:
CXFA_BreakBefore(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BreakBefore() override;
diff --git a/xfa/fxfa/parser/cxfa_button.h b/xfa/fxfa/parser/cxfa_button.h
index cea685fa4e..d9d67a95e5 100644
--- a/xfa/fxfa/parser/cxfa_button.h
+++ b/xfa/fxfa/parser/cxfa_button.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Button : public CXFA_Node {
+class CXFA_Button final : public CXFA_Node {
public:
CXFA_Button(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Button() override;
diff --git a/xfa/fxfa/parser/cxfa_cache.h b/xfa/fxfa/parser/cxfa_cache.h
index e3907c68e7..430163a274 100644
--- a/xfa/fxfa/parser/cxfa_cache.h
+++ b/xfa/fxfa/parser/cxfa_cache.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Cache : public CXFA_Node {
+class CXFA_Cache final : public CXFA_Node {
public:
CXFA_Cache(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Cache() override;
diff --git a/xfa/fxfa/parser/cxfa_calculate.h b/xfa/fxfa/parser/cxfa_calculate.h
index a5be908b4c..46c87708cb 100644
--- a/xfa/fxfa/parser/cxfa_calculate.h
+++ b/xfa/fxfa/parser/cxfa_calculate.h
@@ -11,7 +11,7 @@
class CXFA_Script;
-class CXFA_Calculate : public CXFA_Node {
+class CXFA_Calculate final : public CXFA_Node {
public:
CXFA_Calculate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Calculate() override;
diff --git a/xfa/fxfa/parser/cxfa_calendarsymbols.h b/xfa/fxfa/parser/cxfa_calendarsymbols.h
index 1b1f007469..82ecde4c7a 100644
--- a/xfa/fxfa/parser/cxfa_calendarsymbols.h
+++ b/xfa/fxfa/parser/cxfa_calendarsymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CalendarSymbols : public CXFA_Node {
+class CXFA_CalendarSymbols final : public CXFA_Node {
public:
CXFA_CalendarSymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CalendarSymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_caption.h b/xfa/fxfa/parser/cxfa_caption.h
index c790787e9a..8f3dfdc88a 100644
--- a/xfa/fxfa/parser/cxfa_caption.h
+++ b/xfa/fxfa/parser/cxfa_caption.h
@@ -13,7 +13,7 @@ class CXFA_Font;
class CXFA_Margin;
class CXFA_Value;
-class CXFA_Caption : public CXFA_Node {
+class CXFA_Caption final : public CXFA_Node {
public:
static constexpr XFA_AttributeEnum kDefaultPlacementType =
XFA_AttributeEnum::Left;
diff --git a/xfa/fxfa/parser/cxfa_certificate.h b/xfa/fxfa/parser/cxfa_certificate.h
index 48106dac03..4923d57946 100644
--- a/xfa/fxfa/parser/cxfa_certificate.h
+++ b/xfa/fxfa/parser/cxfa_certificate.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Certificate : public CXFA_Node {
+class CXFA_Certificate final : public CXFA_Node {
public:
CXFA_Certificate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Certificate() override;
diff --git a/xfa/fxfa/parser/cxfa_certificates.h b/xfa/fxfa/parser/cxfa_certificates.h
index a1bed73ff9..6817d03b2b 100644
--- a/xfa/fxfa/parser/cxfa_certificates.h
+++ b/xfa/fxfa/parser/cxfa_certificates.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Certificates : public CXFA_Node {
+class CXFA_Certificates final : public CXFA_Node {
public:
CXFA_Certificates(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Certificates() override;
diff --git a/xfa/fxfa/parser/cxfa_change.h b/xfa/fxfa/parser/cxfa_change.h
index f39b92eacb..2fa4ba952e 100644
--- a/xfa/fxfa/parser/cxfa_change.h
+++ b/xfa/fxfa/parser/cxfa_change.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Change : public CXFA_Node {
+class CXFA_Change final : public CXFA_Node {
public:
CXFA_Change(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Change() override;
diff --git a/xfa/fxfa/parser/cxfa_checkbutton.h b/xfa/fxfa/parser/cxfa_checkbutton.h
index e239a46ecb..7d789193c5 100644
--- a/xfa/fxfa/parser/cxfa_checkbutton.h
+++ b/xfa/fxfa/parser/cxfa_checkbutton.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CheckButton : public CXFA_Node {
+class CXFA_CheckButton final : public CXFA_Node {
public:
CXFA_CheckButton(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CheckButton() override;
diff --git a/xfa/fxfa/parser/cxfa_choicelist.h b/xfa/fxfa/parser/cxfa_choicelist.h
index d621d8ad69..cff14635cf 100644
--- a/xfa/fxfa/parser/cxfa_choicelist.h
+++ b/xfa/fxfa/parser/cxfa_choicelist.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ChoiceList : public CXFA_Node {
+class CXFA_ChoiceList final : public CXFA_Node {
public:
CXFA_ChoiceList(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ChoiceList() override;
diff --git a/xfa/fxfa/parser/cxfa_color.h b/xfa/fxfa/parser/cxfa_color.h
index b15c9d8806..d13a553aa6 100644
--- a/xfa/fxfa/parser/cxfa_color.h
+++ b/xfa/fxfa/parser/cxfa_color.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Color : public CXFA_Node {
+class CXFA_Color final : public CXFA_Node {
public:
static constexpr FX_ARGB kBlackColor = 0xFF000000;
diff --git a/xfa/fxfa/parser/cxfa_comb.h b/xfa/fxfa/parser/cxfa_comb.h
index 1f2b538c28..4193a9cdfe 100644
--- a/xfa/fxfa/parser/cxfa_comb.h
+++ b/xfa/fxfa/parser/cxfa_comb.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Comb : public CXFA_Node {
+class CXFA_Comb final : public CXFA_Node {
public:
CXFA_Comb(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Comb() override;
diff --git a/xfa/fxfa/parser/cxfa_command.h b/xfa/fxfa/parser/cxfa_command.h
index 88b74f3bb5..46f98543d7 100644
--- a/xfa/fxfa/parser/cxfa_command.h
+++ b/xfa/fxfa/parser/cxfa_command.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Command : public CXFA_Node {
+class CXFA_Command final : public CXFA_Node {
public:
CXFA_Command(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Command() override;
diff --git a/xfa/fxfa/parser/cxfa_common.h b/xfa/fxfa/parser/cxfa_common.h
index d0ce0eae04..7cab8527cd 100644
--- a/xfa/fxfa/parser/cxfa_common.h
+++ b/xfa/fxfa/parser/cxfa_common.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Common : public CXFA_Node {
+class CXFA_Common final : public CXFA_Node {
public:
CXFA_Common(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Common() override;
diff --git a/xfa/fxfa/parser/cxfa_compress.h b/xfa/fxfa/parser/cxfa_compress.h
index bec18830a2..2b56390947 100644
--- a/xfa/fxfa/parser/cxfa_compress.h
+++ b/xfa/fxfa/parser/cxfa_compress.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Compress : public CXFA_Node {
+class CXFA_Compress final : public CXFA_Node {
public:
CXFA_Compress(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Compress() override;
diff --git a/xfa/fxfa/parser/cxfa_compression.h b/xfa/fxfa/parser/cxfa_compression.h
index f0e26cb5e2..7a571ae041 100644
--- a/xfa/fxfa/parser/cxfa_compression.h
+++ b/xfa/fxfa/parser/cxfa_compression.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Compression : public CXFA_Node {
+class CXFA_Compression final : public CXFA_Node {
public:
CXFA_Compression(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Compression() override;
diff --git a/xfa/fxfa/parser/cxfa_compresslogicalstructure.h b/xfa/fxfa/parser/cxfa_compresslogicalstructure.h
index a8b50681cd..843eb604af 100644
--- a/xfa/fxfa/parser/cxfa_compresslogicalstructure.h
+++ b/xfa/fxfa/parser/cxfa_compresslogicalstructure.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CompressLogicalStructure : public CXFA_Node {
+class CXFA_CompressLogicalStructure final : public CXFA_Node {
public:
CXFA_CompressLogicalStructure(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CompressLogicalStructure() override;
diff --git a/xfa/fxfa/parser/cxfa_compressobjectstream.h b/xfa/fxfa/parser/cxfa_compressobjectstream.h
index 94e02ce4cc..bce7c65d28 100644
--- a/xfa/fxfa/parser/cxfa_compressobjectstream.h
+++ b/xfa/fxfa/parser/cxfa_compressobjectstream.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CompressObjectStream : public CXFA_Node {
+class CXFA_CompressObjectStream final : public CXFA_Node {
public:
CXFA_CompressObjectStream(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CompressObjectStream() override;
diff --git a/xfa/fxfa/parser/cxfa_config.h b/xfa/fxfa/parser/cxfa_config.h
index 2ddb692f7d..644c4753a3 100644
--- a/xfa/fxfa/parser/cxfa_config.h
+++ b/xfa/fxfa/parser/cxfa_config.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Config : public CXFA_Node {
+class CXFA_Config final : public CXFA_Node {
public:
CXFA_Config(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Config() override;
diff --git a/xfa/fxfa/parser/cxfa_conformance.h b/xfa/fxfa/parser/cxfa_conformance.h
index 11a72e7bff..829bb1cff9 100644
--- a/xfa/fxfa/parser/cxfa_conformance.h
+++ b/xfa/fxfa/parser/cxfa_conformance.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Conformance : public CXFA_Node {
+class CXFA_Conformance final : public CXFA_Node {
public:
CXFA_Conformance(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Conformance() override;
diff --git a/xfa/fxfa/parser/cxfa_connect.h b/xfa/fxfa/parser/cxfa_connect.h
index ac9157785b..3d616ce9c1 100644
--- a/xfa/fxfa/parser/cxfa_connect.h
+++ b/xfa/fxfa/parser/cxfa_connect.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Connect : public CXFA_Node {
+class CXFA_Connect final : public CXFA_Node {
public:
CXFA_Connect(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Connect() override;
diff --git a/xfa/fxfa/parser/cxfa_connectionset.h b/xfa/fxfa/parser/cxfa_connectionset.h
index 59316f7b2c..74238e02f5 100644
--- a/xfa/fxfa/parser/cxfa_connectionset.h
+++ b/xfa/fxfa/parser/cxfa_connectionset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ConnectionSet : public CXFA_Node {
+class CXFA_ConnectionSet final : public CXFA_Node {
public:
CXFA_ConnectionSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ConnectionSet() override;
diff --git a/xfa/fxfa/parser/cxfa_connectstring.h b/xfa/fxfa/parser/cxfa_connectstring.h
index 6c3a0b0577..88dd7bc10f 100644
--- a/xfa/fxfa/parser/cxfa_connectstring.h
+++ b/xfa/fxfa/parser/cxfa_connectstring.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ConnectString : public CXFA_Node {
+class CXFA_ConnectString final : public CXFA_Node {
public:
CXFA_ConnectString(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ConnectString() override;
diff --git a/xfa/fxfa/parser/cxfa_contentarea.h b/xfa/fxfa/parser/cxfa_contentarea.h
index 3c5ff60397..43f6868b08 100644
--- a/xfa/fxfa/parser/cxfa_contentarea.h
+++ b/xfa/fxfa/parser/cxfa_contentarea.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ContentArea : public CXFA_Node {
+class CXFA_ContentArea final : public CXFA_Node {
public:
CXFA_ContentArea(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ContentArea() override;
diff --git a/xfa/fxfa/parser/cxfa_contentcopy.h b/xfa/fxfa/parser/cxfa_contentcopy.h
index d394c74730..5b32bebced 100644
--- a/xfa/fxfa/parser/cxfa_contentcopy.h
+++ b/xfa/fxfa/parser/cxfa_contentcopy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ContentCopy : public CXFA_Node {
+class CXFA_ContentCopy final : public CXFA_Node {
public:
CXFA_ContentCopy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ContentCopy() override;
diff --git a/xfa/fxfa/parser/cxfa_copies.h b/xfa/fxfa/parser/cxfa_copies.h
index 1ecd6160fc..46497f9879 100644
--- a/xfa/fxfa/parser/cxfa_copies.h
+++ b/xfa/fxfa/parser/cxfa_copies.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Copies : public CXFA_Node {
+class CXFA_Copies final : public CXFA_Node {
public:
CXFA_Copies(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Copies() override;
diff --git a/xfa/fxfa/parser/cxfa_corner.h b/xfa/fxfa/parser/cxfa_corner.h
index 1042729bcc..7dcaf32d6e 100644
--- a/xfa/fxfa/parser/cxfa_corner.h
+++ b/xfa/fxfa/parser/cxfa_corner.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_stroke.h"
-class CXFA_Corner : public CXFA_Stroke {
+class CXFA_Corner final : public CXFA_Stroke {
public:
CXFA_Corner(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Corner() override;
diff --git a/xfa/fxfa/parser/cxfa_creator.h b/xfa/fxfa/parser/cxfa_creator.h
index c046883431..437fab5977 100644
--- a/xfa/fxfa/parser/cxfa_creator.h
+++ b/xfa/fxfa/parser/cxfa_creator.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Creator : public CXFA_Node {
+class CXFA_Creator final : public CXFA_Node {
public:
CXFA_Creator(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Creator() override;
diff --git a/xfa/fxfa/parser/cxfa_currencysymbol.h b/xfa/fxfa/parser/cxfa_currencysymbol.h
index 271f7fc1e5..3d7b5bde30 100644
--- a/xfa/fxfa/parser/cxfa_currencysymbol.h
+++ b/xfa/fxfa/parser/cxfa_currencysymbol.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CurrencySymbol : public CXFA_Node {
+class CXFA_CurrencySymbol final : public CXFA_Node {
public:
CXFA_CurrencySymbol(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CurrencySymbol() override;
diff --git a/xfa/fxfa/parser/cxfa_currencysymbols.h b/xfa/fxfa/parser/cxfa_currencysymbols.h
index acd3f2a5e2..2ce27cf88c 100644
--- a/xfa/fxfa/parser/cxfa_currencysymbols.h
+++ b/xfa/fxfa/parser/cxfa_currencysymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CurrencySymbols : public CXFA_Node {
+class CXFA_CurrencySymbols final : public CXFA_Node {
public:
CXFA_CurrencySymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CurrencySymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_currentpage.h b/xfa/fxfa/parser/cxfa_currentpage.h
index d526b4a670..5bba6a0eea 100644
--- a/xfa/fxfa/parser/cxfa_currentpage.h
+++ b/xfa/fxfa/parser/cxfa_currentpage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CurrentPage : public CXFA_Node {
+class CXFA_CurrentPage final : public CXFA_Node {
public:
CXFA_CurrentPage(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CurrentPage() override;
diff --git a/xfa/fxfa/parser/cxfa_data.h b/xfa/fxfa/parser/cxfa_data.h
index cb30f615f3..44cf40dfe8 100644
--- a/xfa/fxfa/parser/cxfa_data.h
+++ b/xfa/fxfa/parser/cxfa_data.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Data : public CXFA_Node {
+class CXFA_Data final : public CXFA_Node {
public:
CXFA_Data(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Data() override;
diff --git a/xfa/fxfa/parser/cxfa_datagroup.h b/xfa/fxfa/parser/cxfa_datagroup.h
index 649b09621d..5a6170437b 100644
--- a/xfa/fxfa/parser/cxfa_datagroup.h
+++ b/xfa/fxfa/parser/cxfa_datagroup.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DataGroup : public CXFA_Node {
+class CXFA_DataGroup final : public CXFA_Node {
public:
CXFA_DataGroup(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DataGroup() override;
diff --git a/xfa/fxfa/parser/cxfa_datamodel.h b/xfa/fxfa/parser/cxfa_datamodel.h
index f414ea350f..8a1bd42833 100644
--- a/xfa/fxfa/parser/cxfa_datamodel.h
+++ b/xfa/fxfa/parser/cxfa_datamodel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DataModel : public CXFA_Node {
+class CXFA_DataModel final : public CXFA_Node {
public:
CXFA_DataModel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DataModel() override;
diff --git a/xfa/fxfa/parser/cxfa_datavalue.h b/xfa/fxfa/parser/cxfa_datavalue.h
index 8170aba0b7..ee2c621638 100644
--- a/xfa/fxfa/parser/cxfa_datavalue.h
+++ b/xfa/fxfa/parser/cxfa_datavalue.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DataValue : public CXFA_Node {
+class CXFA_DataValue final : public CXFA_Node {
public:
CXFA_DataValue(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DataValue() override;
diff --git a/xfa/fxfa/parser/cxfa_date.h b/xfa/fxfa/parser/cxfa_date.h
index e5ebb25ccb..3fb7ba7cf1 100644
--- a/xfa/fxfa/parser/cxfa_date.h
+++ b/xfa/fxfa/parser/cxfa_date.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Date : public CXFA_Node {
+class CXFA_Date final : public CXFA_Node {
public:
CXFA_Date(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Date() override;
diff --git a/xfa/fxfa/parser/cxfa_datepattern.h b/xfa/fxfa/parser/cxfa_datepattern.h
index b66147851f..e67a61f39a 100644
--- a/xfa/fxfa/parser/cxfa_datepattern.h
+++ b/xfa/fxfa/parser/cxfa_datepattern.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DatePattern : public CXFA_Node {
+class CXFA_DatePattern final : public CXFA_Node {
public:
CXFA_DatePattern(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DatePattern() override;
diff --git a/xfa/fxfa/parser/cxfa_datepatterns.h b/xfa/fxfa/parser/cxfa_datepatterns.h
index dfc55d08d3..6c2dca4525 100644
--- a/xfa/fxfa/parser/cxfa_datepatterns.h
+++ b/xfa/fxfa/parser/cxfa_datepatterns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DatePatterns : public CXFA_Node {
+class CXFA_DatePatterns final : public CXFA_Node {
public:
CXFA_DatePatterns(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DatePatterns() override;
diff --git a/xfa/fxfa/parser/cxfa_datetime.h b/xfa/fxfa/parser/cxfa_datetime.h
index f5cd6f680e..ca71daf6f9 100644
--- a/xfa/fxfa/parser/cxfa_datetime.h
+++ b/xfa/fxfa/parser/cxfa_datetime.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DateTime : public CXFA_Node {
+class CXFA_DateTime final : public CXFA_Node {
public:
CXFA_DateTime(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DateTime() override;
diff --git a/xfa/fxfa/parser/cxfa_datetimeedit.h b/xfa/fxfa/parser/cxfa_datetimeedit.h
index 662a1ef9a2..de76e2a35e 100644
--- a/xfa/fxfa/parser/cxfa_datetimeedit.h
+++ b/xfa/fxfa/parser/cxfa_datetimeedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DateTimeEdit : public CXFA_Node {
+class CXFA_DateTimeEdit final : public CXFA_Node {
public:
CXFA_DateTimeEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DateTimeEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_datetimesymbols.h b/xfa/fxfa/parser/cxfa_datetimesymbols.h
index e2296d6fd9..cfbe0695f2 100644
--- a/xfa/fxfa/parser/cxfa_datetimesymbols.h
+++ b/xfa/fxfa/parser/cxfa_datetimesymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DateTimeSymbols : public CXFA_Node {
+class CXFA_DateTimeSymbols final : public CXFA_Node {
public:
CXFA_DateTimeSymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DateTimeSymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_day.h b/xfa/fxfa/parser/cxfa_day.h
index 8d04bf4fb7..6fb2f45692 100644
--- a/xfa/fxfa/parser/cxfa_day.h
+++ b/xfa/fxfa/parser/cxfa_day.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Day : public CXFA_Node {
+class CXFA_Day final : public CXFA_Node {
public:
CXFA_Day(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Day() override;
diff --git a/xfa/fxfa/parser/cxfa_daynames.h b/xfa/fxfa/parser/cxfa_daynames.h
index d566e50e70..229d69c070 100644
--- a/xfa/fxfa/parser/cxfa_daynames.h
+++ b/xfa/fxfa/parser/cxfa_daynames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DayNames : public CXFA_Node {
+class CXFA_DayNames final : public CXFA_Node {
public:
CXFA_DayNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DayNames() override;
diff --git a/xfa/fxfa/parser/cxfa_debug.h b/xfa/fxfa/parser/cxfa_debug.h
index e2e4ed19c4..1a254f0ab3 100644
--- a/xfa/fxfa/parser/cxfa_debug.h
+++ b/xfa/fxfa/parser/cxfa_debug.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Debug : public CXFA_Node {
+class CXFA_Debug final : public CXFA_Node {
public:
CXFA_Debug(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Debug() override;
diff --git a/xfa/fxfa/parser/cxfa_decimal.h b/xfa/fxfa/parser/cxfa_decimal.h
index da588964be..668f61ab19 100644
--- a/xfa/fxfa/parser/cxfa_decimal.h
+++ b/xfa/fxfa/parser/cxfa_decimal.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Decimal : public CXFA_Node {
+class CXFA_Decimal final : public CXFA_Node {
public:
CXFA_Decimal(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Decimal() override;
diff --git a/xfa/fxfa/parser/cxfa_defaulttypeface.h b/xfa/fxfa/parser/cxfa_defaulttypeface.h
index 511ed8f8f2..a241bf8a5c 100644
--- a/xfa/fxfa/parser/cxfa_defaulttypeface.h
+++ b/xfa/fxfa/parser/cxfa_defaulttypeface.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DefaultTypeface : public CXFA_Node {
+class CXFA_DefaultTypeface final : public CXFA_Node {
public:
CXFA_DefaultTypeface(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DefaultTypeface() override;
diff --git a/xfa/fxfa/parser/cxfa_defaultui.h b/xfa/fxfa/parser/cxfa_defaultui.h
index 5c20370fd2..d09da0b6ea 100644
--- a/xfa/fxfa/parser/cxfa_defaultui.h
+++ b/xfa/fxfa/parser/cxfa_defaultui.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DefaultUi : public CXFA_Node {
+class CXFA_DefaultUi final : public CXFA_Node {
public:
CXFA_DefaultUi(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DefaultUi() override;
diff --git a/xfa/fxfa/parser/cxfa_delete.h b/xfa/fxfa/parser/cxfa_delete.h
index 7c6058ab4f..0ea6ab33fb 100644
--- a/xfa/fxfa/parser/cxfa_delete.h
+++ b/xfa/fxfa/parser/cxfa_delete.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Delete : public CXFA_Node {
+class CXFA_Delete final : public CXFA_Node {
public:
CXFA_Delete(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Delete() override;
diff --git a/xfa/fxfa/parser/cxfa_delta.h b/xfa/fxfa/parser/cxfa_delta.h
index 693287ba3f..40bfa56b17 100644
--- a/xfa/fxfa/parser/cxfa_delta.h
+++ b/xfa/fxfa/parser/cxfa_delta.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Delta : public CXFA_Node {
+class CXFA_Delta final : public CXFA_Node {
public:
CXFA_Delta(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Delta() override;
diff --git a/xfa/fxfa/parser/cxfa_desc.h b/xfa/fxfa/parser/cxfa_desc.h
index 1811c63002..11baa90060 100644
--- a/xfa/fxfa/parser/cxfa_desc.h
+++ b/xfa/fxfa/parser/cxfa_desc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Desc : public CXFA_Node {
+class CXFA_Desc final : public CXFA_Node {
public:
CXFA_Desc(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Desc() override;
diff --git a/xfa/fxfa/parser/cxfa_destination.h b/xfa/fxfa/parser/cxfa_destination.h
index d9fc55329c..d31434faa4 100644
--- a/xfa/fxfa/parser/cxfa_destination.h
+++ b/xfa/fxfa/parser/cxfa_destination.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Destination : public CXFA_Node {
+class CXFA_Destination final : public CXFA_Node {
public:
CXFA_Destination(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Destination() override;
diff --git a/xfa/fxfa/parser/cxfa_digestmethod.h b/xfa/fxfa/parser/cxfa_digestmethod.h
index 4ac22bb06a..777f46a87c 100644
--- a/xfa/fxfa/parser/cxfa_digestmethod.h
+++ b/xfa/fxfa/parser/cxfa_digestmethod.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DigestMethod : public CXFA_Node {
+class CXFA_DigestMethod final : public CXFA_Node {
public:
CXFA_DigestMethod(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DigestMethod() override;
diff --git a/xfa/fxfa/parser/cxfa_digestmethods.h b/xfa/fxfa/parser/cxfa_digestmethods.h
index 65d40fbfca..61dac9799a 100644
--- a/xfa/fxfa/parser/cxfa_digestmethods.h
+++ b/xfa/fxfa/parser/cxfa_digestmethods.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DigestMethods : public CXFA_Node {
+class CXFA_DigestMethods final : public CXFA_Node {
public:
CXFA_DigestMethods(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DigestMethods() override;
diff --git a/xfa/fxfa/parser/cxfa_document.h b/xfa/fxfa/parser/cxfa_document.h
index 590a4cf12a..0449f06b53 100644
--- a/xfa/fxfa/parser/cxfa_document.h
+++ b/xfa/fxfa/parser/cxfa_document.h
@@ -54,7 +54,7 @@ class CXFA_LayoutProcessor;
class CXFA_Node;
class CXFA_Object;
-class CXFA_Document : public CXFA_NodeOwner {
+class CXFA_Document final : public CXFA_NodeOwner {
public:
explicit CXFA_Document(CXFA_FFNotify* notify);
~CXFA_Document() override;
diff --git a/xfa/fxfa/parser/cxfa_documentassembly.h b/xfa/fxfa/parser/cxfa_documentassembly.h
index c22d4a97b0..92cde65f87 100644
--- a/xfa/fxfa/parser/cxfa_documentassembly.h
+++ b/xfa/fxfa/parser/cxfa_documentassembly.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DocumentAssembly : public CXFA_Node {
+class CXFA_DocumentAssembly final : public CXFA_Node {
public:
CXFA_DocumentAssembly(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DocumentAssembly() override;
diff --git a/xfa/fxfa/parser/cxfa_draw.h b/xfa/fxfa/parser/cxfa_draw.h
index 603103b091..c1b900632c 100644
--- a/xfa/fxfa/parser/cxfa_draw.h
+++ b/xfa/fxfa/parser/cxfa_draw.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Draw : public CXFA_Node {
+class CXFA_Draw final : public CXFA_Node {
public:
CXFA_Draw(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Draw() override;
diff --git a/xfa/fxfa/parser/cxfa_driver.h b/xfa/fxfa/parser/cxfa_driver.h
index aee732edf7..f58e153fd2 100644
--- a/xfa/fxfa/parser/cxfa_driver.h
+++ b/xfa/fxfa/parser/cxfa_driver.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Driver : public CXFA_Node {
+class CXFA_Driver final : public CXFA_Node {
public:
CXFA_Driver(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Driver() override;
diff --git a/xfa/fxfa/parser/cxfa_dsigdata.h b/xfa/fxfa/parser/cxfa_dsigdata.h
index 0cbaeb4402..06e691cac4 100644
--- a/xfa/fxfa/parser/cxfa_dsigdata.h
+++ b/xfa/fxfa/parser/cxfa_dsigdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DSigData : public CXFA_Node {
+class CXFA_DSigData final : public CXFA_Node {
public:
CXFA_DSigData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DSigData() override;
diff --git a/xfa/fxfa/parser/cxfa_duplexoption.h b/xfa/fxfa/parser/cxfa_duplexoption.h
index 69034ce594..5bf8e50279 100644
--- a/xfa/fxfa/parser/cxfa_duplexoption.h
+++ b/xfa/fxfa/parser/cxfa_duplexoption.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DuplexOption : public CXFA_Node {
+class CXFA_DuplexOption final : public CXFA_Node {
public:
CXFA_DuplexOption(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DuplexOption() override;
diff --git a/xfa/fxfa/parser/cxfa_dynamicrender.h b/xfa/fxfa/parser/cxfa_dynamicrender.h
index f7c54fafab..78b75a732c 100644
--- a/xfa/fxfa/parser/cxfa_dynamicrender.h
+++ b/xfa/fxfa/parser/cxfa_dynamicrender.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DynamicRender : public CXFA_Node {
+class CXFA_DynamicRender final : public CXFA_Node {
public:
CXFA_DynamicRender(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DynamicRender() override;
diff --git a/xfa/fxfa/parser/cxfa_edge.h b/xfa/fxfa/parser/cxfa_edge.h
index 36fee55624..79c7f14681 100644
--- a/xfa/fxfa/parser/cxfa_edge.h
+++ b/xfa/fxfa/parser/cxfa_edge.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_stroke.h"
-class CXFA_Edge : public CXFA_Stroke {
+class CXFA_Edge final : public CXFA_Stroke {
public:
static constexpr FX_ARGB kDefaultColor = 0xFF000000;
diff --git a/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h b/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h
index 52a60a45d9..4f4fb8ecdd 100644
--- a/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h
+++ b/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EffectiveInputPolicy : public CXFA_Node {
+class CXFA_EffectiveInputPolicy final : public CXFA_Node {
public:
CXFA_EffectiveInputPolicy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EffectiveInputPolicy() override;
diff --git a/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h b/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h
index b2317d520e..9b15a47ae8 100644
--- a/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h
+++ b/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EffectiveOutputPolicy : public CXFA_Node {
+class CXFA_EffectiveOutputPolicy final : public CXFA_Node {
public:
CXFA_EffectiveOutputPolicy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EffectiveOutputPolicy() override;
diff --git a/xfa/fxfa/parser/cxfa_embed.h b/xfa/fxfa/parser/cxfa_embed.h
index d1308407b2..8772b30795 100644
--- a/xfa/fxfa/parser/cxfa_embed.h
+++ b/xfa/fxfa/parser/cxfa_embed.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Embed : public CXFA_Node {
+class CXFA_Embed final : public CXFA_Node {
public:
CXFA_Embed(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Embed() override;
diff --git a/xfa/fxfa/parser/cxfa_encoding.h b/xfa/fxfa/parser/cxfa_encoding.h
index ad41b01b85..b98ea2103c 100644
--- a/xfa/fxfa/parser/cxfa_encoding.h
+++ b/xfa/fxfa/parser/cxfa_encoding.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encoding : public CXFA_Node {
+class CXFA_Encoding final : public CXFA_Node {
public:
CXFA_Encoding(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encoding() override;
diff --git a/xfa/fxfa/parser/cxfa_encodings.h b/xfa/fxfa/parser/cxfa_encodings.h
index d3876deefc..3e8de09e7b 100644
--- a/xfa/fxfa/parser/cxfa_encodings.h
+++ b/xfa/fxfa/parser/cxfa_encodings.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encodings : public CXFA_Node {
+class CXFA_Encodings final : public CXFA_Node {
public:
CXFA_Encodings(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encodings() override;
diff --git a/xfa/fxfa/parser/cxfa_encrypt.h b/xfa/fxfa/parser/cxfa_encrypt.h
index 4968db62c8..afb74b4a30 100644
--- a/xfa/fxfa/parser/cxfa_encrypt.h
+++ b/xfa/fxfa/parser/cxfa_encrypt.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encrypt : public CXFA_Node {
+class CXFA_Encrypt final : public CXFA_Node {
public:
CXFA_Encrypt(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encrypt() override;
diff --git a/xfa/fxfa/parser/cxfa_encryption.h b/xfa/fxfa/parser/cxfa_encryption.h
index f2028ee850..1bcf48fdc0 100644
--- a/xfa/fxfa/parser/cxfa_encryption.h
+++ b/xfa/fxfa/parser/cxfa_encryption.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encryption : public CXFA_Node {
+class CXFA_Encryption final : public CXFA_Node {
public:
CXFA_Encryption(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encryption() override;
diff --git a/xfa/fxfa/parser/cxfa_encryptionlevel.h b/xfa/fxfa/parser/cxfa_encryptionlevel.h
index 1bb80ce126..faf300b27d 100644
--- a/xfa/fxfa/parser/cxfa_encryptionlevel.h
+++ b/xfa/fxfa/parser/cxfa_encryptionlevel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EncryptionLevel : public CXFA_Node {
+class CXFA_EncryptionLevel final : public CXFA_Node {
public:
CXFA_EncryptionLevel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EncryptionLevel() override;
diff --git a/xfa/fxfa/parser/cxfa_encryptionmethod.h b/xfa/fxfa/parser/cxfa_encryptionmethod.h
index 2c86001c93..cae708f537 100644
--- a/xfa/fxfa/parser/cxfa_encryptionmethod.h
+++ b/xfa/fxfa/parser/cxfa_encryptionmethod.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EncryptionMethod : public CXFA_Node {
+class CXFA_EncryptionMethod final : public CXFA_Node {
public:
CXFA_EncryptionMethod(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EncryptionMethod() override;
diff --git a/xfa/fxfa/parser/cxfa_encryptionmethods.h b/xfa/fxfa/parser/cxfa_encryptionmethods.h
index 9fcc0b5e9f..825ee9feef 100644
--- a/xfa/fxfa/parser/cxfa_encryptionmethods.h
+++ b/xfa/fxfa/parser/cxfa_encryptionmethods.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EncryptionMethods : public CXFA_Node {
+class CXFA_EncryptionMethods final : public CXFA_Node {
public:
CXFA_EncryptionMethods(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EncryptionMethods() override;
diff --git a/xfa/fxfa/parser/cxfa_enforce.h b/xfa/fxfa/parser/cxfa_enforce.h
index 3ccd8b8f2b..ec7d7453fa 100644
--- a/xfa/fxfa/parser/cxfa_enforce.h
+++ b/xfa/fxfa/parser/cxfa_enforce.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Enforce : public CXFA_Node {
+class CXFA_Enforce final : public CXFA_Node {
public:
CXFA_Enforce(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Enforce() override;
diff --git a/xfa/fxfa/parser/cxfa_equate.h b/xfa/fxfa/parser/cxfa_equate.h
index 0a28182ee8..fc1f8d6fb0 100644
--- a/xfa/fxfa/parser/cxfa_equate.h
+++ b/xfa/fxfa/parser/cxfa_equate.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Equate : public CXFA_Node {
+class CXFA_Equate final : public CXFA_Node {
public:
CXFA_Equate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Equate() override;
diff --git a/xfa/fxfa/parser/cxfa_equaterange.h b/xfa/fxfa/parser/cxfa_equaterange.h
index 86c86b1870..56f05e19e5 100644
--- a/xfa/fxfa/parser/cxfa_equaterange.h
+++ b/xfa/fxfa/parser/cxfa_equaterange.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EquateRange : public CXFA_Node {
+class CXFA_EquateRange final : public CXFA_Node {
public:
CXFA_EquateRange(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EquateRange() override;
diff --git a/xfa/fxfa/parser/cxfa_era.h b/xfa/fxfa/parser/cxfa_era.h
index a46a574180..e0ecdf7a79 100644
--- a/xfa/fxfa/parser/cxfa_era.h
+++ b/xfa/fxfa/parser/cxfa_era.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Era : public CXFA_Node {
+class CXFA_Era final : public CXFA_Node {
public:
CXFA_Era(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Era() override;
diff --git a/xfa/fxfa/parser/cxfa_eranames.h b/xfa/fxfa/parser/cxfa_eranames.h
index 4c8f7880a7..468b658c7f 100644
--- a/xfa/fxfa/parser/cxfa_eranames.h
+++ b/xfa/fxfa/parser/cxfa_eranames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EraNames : public CXFA_Node {
+class CXFA_EraNames final : public CXFA_Node {
public:
CXFA_EraNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EraNames() override;
diff --git a/xfa/fxfa/parser/cxfa_event.h b/xfa/fxfa/parser/cxfa_event.h
index 6902b52eef..e7f5e1a7c9 100644
--- a/xfa/fxfa/parser/cxfa_event.h
+++ b/xfa/fxfa/parser/cxfa_event.h
@@ -12,7 +12,7 @@
class CXFA_Script;
class CXFA_Submit;
-class CXFA_Event : public CXFA_Node {
+class CXFA_Event final : public CXFA_Node {
public:
CXFA_Event(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Event() override;
diff --git a/xfa/fxfa/parser/cxfa_exclgroup.h b/xfa/fxfa/parser/cxfa_exclgroup.h
index 5a3c8a3fee..390bb4a225 100644
--- a/xfa/fxfa/parser/cxfa_exclgroup.h
+++ b/xfa/fxfa/parser/cxfa_exclgroup.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExclGroup : public CXFA_Node {
+class CXFA_ExclGroup final : public CXFA_Node {
public:
CXFA_ExclGroup(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExclGroup() override;
diff --git a/xfa/fxfa/parser/cxfa_exclude.h b/xfa/fxfa/parser/cxfa_exclude.h
index 0f78707ea6..71f08fd9a7 100644
--- a/xfa/fxfa/parser/cxfa_exclude.h
+++ b/xfa/fxfa/parser/cxfa_exclude.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Exclude : public CXFA_Node {
+class CXFA_Exclude final : public CXFA_Node {
public:
CXFA_Exclude(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Exclude() override;
diff --git a/xfa/fxfa/parser/cxfa_excludens.h b/xfa/fxfa/parser/cxfa_excludens.h
index c5cb548e53..9ce2e69088 100644
--- a/xfa/fxfa/parser/cxfa_excludens.h
+++ b/xfa/fxfa/parser/cxfa_excludens.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExcludeNS : public CXFA_Node {
+class CXFA_ExcludeNS final : public CXFA_Node {
public:
CXFA_ExcludeNS(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExcludeNS() override;
diff --git a/xfa/fxfa/parser/cxfa_exdata.h b/xfa/fxfa/parser/cxfa_exdata.h
index 8eb3caf76b..8adf028048 100644
--- a/xfa/fxfa/parser/cxfa_exdata.h
+++ b/xfa/fxfa/parser/cxfa_exdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExData : public CXFA_Node {
+class CXFA_ExData final : public CXFA_Node {
public:
CXFA_ExData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExData() override;
diff --git a/xfa/fxfa/parser/cxfa_execute.h b/xfa/fxfa/parser/cxfa_execute.h
index 2d9f1581ad..63fd18b09d 100644
--- a/xfa/fxfa/parser/cxfa_execute.h
+++ b/xfa/fxfa/parser/cxfa_execute.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Execute : public CXFA_Node {
+class CXFA_Execute final : public CXFA_Node {
public:
CXFA_Execute(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Execute() override;
diff --git a/xfa/fxfa/parser/cxfa_exobject.h b/xfa/fxfa/parser/cxfa_exobject.h
index b4d7de9eb8..79ffdb9fbd 100644
--- a/xfa/fxfa/parser/cxfa_exobject.h
+++ b/xfa/fxfa/parser/cxfa_exobject.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExObject : public CXFA_Node {
+class CXFA_ExObject final : public CXFA_Node {
public:
CXFA_ExObject(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExObject() override;
diff --git a/xfa/fxfa/parser/cxfa_extras.h b/xfa/fxfa/parser/cxfa_extras.h
index 3b3c6b4a95..82108d0f5c 100644
--- a/xfa/fxfa/parser/cxfa_extras.h
+++ b/xfa/fxfa/parser/cxfa_extras.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Extras : public CXFA_Node {
+class CXFA_Extras final : public CXFA_Node {
public:
CXFA_Extras(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Extras() override;
diff --git a/xfa/fxfa/parser/cxfa_field.h b/xfa/fxfa/parser/cxfa_field.h
index b2f7a052de..e29cdd7fed 100644
--- a/xfa/fxfa/parser/cxfa_field.h
+++ b/xfa/fxfa/parser/cxfa_field.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Field : public CXFA_Node {
+class CXFA_Field final : public CXFA_Node {
public:
CXFA_Field(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Field() override;
diff --git a/xfa/fxfa/parser/cxfa_fill.h b/xfa/fxfa/parser/cxfa_fill.h
index 1ffdcdf2a3..05fede9419 100644
--- a/xfa/fxfa/parser/cxfa_fill.h
+++ b/xfa/fxfa/parser/cxfa_fill.h
@@ -18,7 +18,7 @@ class CXFA_Pattern;
class CXFA_Radial;
class CXFA_Stipple;
-class CXFA_Fill : public CXFA_Node {
+class CXFA_Fill final : public CXFA_Node {
public:
CXFA_Fill(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Fill() override;
diff --git a/xfa/fxfa/parser/cxfa_filter.h b/xfa/fxfa/parser/cxfa_filter.h
index 2ac069ac24..033d97cc90 100644
--- a/xfa/fxfa/parser/cxfa_filter.h
+++ b/xfa/fxfa/parser/cxfa_filter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Filter : public CXFA_Node {
+class CXFA_Filter final : public CXFA_Node {
public:
CXFA_Filter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Filter() override;
diff --git a/xfa/fxfa/parser/cxfa_fliplabel.h b/xfa/fxfa/parser/cxfa_fliplabel.h
index dac0564b51..e3f8165c8b 100644
--- a/xfa/fxfa/parser/cxfa_fliplabel.h
+++ b/xfa/fxfa/parser/cxfa_fliplabel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_FlipLabel : public CXFA_Node {
+class CXFA_FlipLabel final : public CXFA_Node {
public:
CXFA_FlipLabel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_FlipLabel() override;
diff --git a/xfa/fxfa/parser/cxfa_float.h b/xfa/fxfa/parser/cxfa_float.h
index f93b3dd199..a3fc1aef9d 100644
--- a/xfa/fxfa/parser/cxfa_float.h
+++ b/xfa/fxfa/parser/cxfa_float.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Float : public CXFA_Node {
+class CXFA_Float final : public CXFA_Node {
public:
CXFA_Float(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Float() override;
diff --git a/xfa/fxfa/parser/cxfa_font.h b/xfa/fxfa/parser/cxfa_font.h
index 346be76720..fb80a32c80 100644
--- a/xfa/fxfa/parser/cxfa_font.h
+++ b/xfa/fxfa/parser/cxfa_font.h
@@ -10,7 +10,7 @@
#include "core/fxge/fx_dib.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Font : public CXFA_Node {
+class CXFA_Font final : public CXFA_Node {
public:
CXFA_Font(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Font() override;
diff --git a/xfa/fxfa/parser/cxfa_fontinfo.h b/xfa/fxfa/parser/cxfa_fontinfo.h
index f9facd8039..b798c556e0 100644
--- a/xfa/fxfa/parser/cxfa_fontinfo.h
+++ b/xfa/fxfa/parser/cxfa_fontinfo.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_FontInfo : public CXFA_Node {
+class CXFA_FontInfo final : public CXFA_Node {
public:
CXFA_FontInfo(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_FontInfo() override;
diff --git a/xfa/fxfa/parser/cxfa_form.h b/xfa/fxfa/parser/cxfa_form.h
index 39d1d90a40..a0e2f32384 100644
--- a/xfa/fxfa/parser/cxfa_form.h
+++ b/xfa/fxfa/parser/cxfa_form.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Form : public CXFA_Node {
+class CXFA_Form final : public CXFA_Node {
public:
CXFA_Form(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Form() override;
diff --git a/xfa/fxfa/parser/cxfa_format.h b/xfa/fxfa/parser/cxfa_format.h
index 3e31716062..7e74a1c3cc 100644
--- a/xfa/fxfa/parser/cxfa_format.h
+++ b/xfa/fxfa/parser/cxfa_format.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Format : public CXFA_Node {
+class CXFA_Format final : public CXFA_Node {
public:
CXFA_Format(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Format() override;
diff --git a/xfa/fxfa/parser/cxfa_formfieldfilling.h b/xfa/fxfa/parser/cxfa_formfieldfilling.h
index 77f1b8f59a..f9e7447444 100644
--- a/xfa/fxfa/parser/cxfa_formfieldfilling.h
+++ b/xfa/fxfa/parser/cxfa_formfieldfilling.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_FormFieldFilling : public CXFA_Node {
+class CXFA_FormFieldFilling final : public CXFA_Node {
public:
CXFA_FormFieldFilling(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_FormFieldFilling() override;
diff --git a/xfa/fxfa/parser/cxfa_groupparent.h b/xfa/fxfa/parser/cxfa_groupparent.h
index 7de296ce4e..eb63a6a876 100644
--- a/xfa/fxfa/parser/cxfa_groupparent.h
+++ b/xfa/fxfa/parser/cxfa_groupparent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_GroupParent : public CXFA_Node {
+class CXFA_GroupParent final : public CXFA_Node {
public:
CXFA_GroupParent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_GroupParent() override;
diff --git a/xfa/fxfa/parser/cxfa_handler.h b/xfa/fxfa/parser/cxfa_handler.h
index e575c0bc30..1ab1c4de96 100644
--- a/xfa/fxfa/parser/cxfa_handler.h
+++ b/xfa/fxfa/parser/cxfa_handler.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Handler : public CXFA_Node {
+class CXFA_Handler final : public CXFA_Node {
public:
CXFA_Handler(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Handler() override;
diff --git a/xfa/fxfa/parser/cxfa_hyphenation.h b/xfa/fxfa/parser/cxfa_hyphenation.h
index 2601c5fa1d..77b49e9f2b 100644
--- a/xfa/fxfa/parser/cxfa_hyphenation.h
+++ b/xfa/fxfa/parser/cxfa_hyphenation.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Hyphenation : public CXFA_Node {
+class CXFA_Hyphenation final : public CXFA_Node {
public:
CXFA_Hyphenation(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Hyphenation() override;
diff --git a/xfa/fxfa/parser/cxfa_ifempty.h b/xfa/fxfa/parser/cxfa_ifempty.h
index 3c3c1b47a9..401faa7ef2 100644
--- a/xfa/fxfa/parser/cxfa_ifempty.h
+++ b/xfa/fxfa/parser/cxfa_ifempty.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IfEmpty : public CXFA_Node {
+class CXFA_IfEmpty final : public CXFA_Node {
public:
CXFA_IfEmpty(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IfEmpty() override;
diff --git a/xfa/fxfa/parser/cxfa_image.h b/xfa/fxfa/parser/cxfa_image.h
index 3670863a3b..01f12eb849 100644
--- a/xfa/fxfa/parser/cxfa_image.h
+++ b/xfa/fxfa/parser/cxfa_image.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Image : public CXFA_Node {
+class CXFA_Image final : public CXFA_Node {
public:
CXFA_Image(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Image() override;
diff --git a/xfa/fxfa/parser/cxfa_imageedit.h b/xfa/fxfa/parser/cxfa_imageedit.h
index 0a950d8018..884c21935d 100644
--- a/xfa/fxfa/parser/cxfa_imageedit.h
+++ b/xfa/fxfa/parser/cxfa_imageedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ImageEdit : public CXFA_Node {
+class CXFA_ImageEdit final : public CXFA_Node {
public:
CXFA_ImageEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ImageEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_includexdpcontent.h b/xfa/fxfa/parser/cxfa_includexdpcontent.h
index 309a7c6ac6..15c5bbe015 100644
--- a/xfa/fxfa/parser/cxfa_includexdpcontent.h
+++ b/xfa/fxfa/parser/cxfa_includexdpcontent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IncludeXDPContent : public CXFA_Node {
+class CXFA_IncludeXDPContent final : public CXFA_Node {
public:
CXFA_IncludeXDPContent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IncludeXDPContent() override;
diff --git a/xfa/fxfa/parser/cxfa_incrementalload.h b/xfa/fxfa/parser/cxfa_incrementalload.h
index 9ea8f29d38..253a2ae3a9 100644
--- a/xfa/fxfa/parser/cxfa_incrementalload.h
+++ b/xfa/fxfa/parser/cxfa_incrementalload.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IncrementalLoad : public CXFA_Node {
+class CXFA_IncrementalLoad final : public CXFA_Node {
public:
CXFA_IncrementalLoad(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IncrementalLoad() override;
diff --git a/xfa/fxfa/parser/cxfa_incrementalmerge.h b/xfa/fxfa/parser/cxfa_incrementalmerge.h
index c8e655434d..4ec65af4f8 100644
--- a/xfa/fxfa/parser/cxfa_incrementalmerge.h
+++ b/xfa/fxfa/parser/cxfa_incrementalmerge.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IncrementalMerge : public CXFA_Node {
+class CXFA_IncrementalMerge final : public CXFA_Node {
public:
CXFA_IncrementalMerge(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IncrementalMerge() override;
diff --git a/xfa/fxfa/parser/cxfa_insert.h b/xfa/fxfa/parser/cxfa_insert.h
index 92579c3178..e157a82fcf 100644
--- a/xfa/fxfa/parser/cxfa_insert.h
+++ b/xfa/fxfa/parser/cxfa_insert.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Insert : public CXFA_Node {
+class CXFA_Insert final : public CXFA_Node {
public:
CXFA_Insert(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Insert() override;
diff --git a/xfa/fxfa/parser/cxfa_instancemanager.h b/xfa/fxfa/parser/cxfa_instancemanager.h
index 1910b92288..3ace0e9a3f 100644
--- a/xfa/fxfa/parser/cxfa_instancemanager.h
+++ b/xfa/fxfa/parser/cxfa_instancemanager.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_InstanceManager : public CXFA_Node {
+class CXFA_InstanceManager final : public CXFA_Node {
public:
CXFA_InstanceManager(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_InstanceManager() override;
diff --git a/xfa/fxfa/parser/cxfa_integer.h b/xfa/fxfa/parser/cxfa_integer.h
index 2e5631d3a1..ac941334d3 100644
--- a/xfa/fxfa/parser/cxfa_integer.h
+++ b/xfa/fxfa/parser/cxfa_integer.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Integer : public CXFA_Node {
+class CXFA_Integer final : public CXFA_Node {
public:
CXFA_Integer(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Integer() override;
diff --git a/xfa/fxfa/parser/cxfa_interactive.h b/xfa/fxfa/parser/cxfa_interactive.h
index 69f2918dee..12db0bf9bb 100644
--- a/xfa/fxfa/parser/cxfa_interactive.h
+++ b/xfa/fxfa/parser/cxfa_interactive.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Interactive : public CXFA_Node {
+class CXFA_Interactive final : public CXFA_Node {
public:
CXFA_Interactive(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Interactive() override;
diff --git a/xfa/fxfa/parser/cxfa_issuers.h b/xfa/fxfa/parser/cxfa_issuers.h
index 6b94f15e8c..11ba8b447f 100644
--- a/xfa/fxfa/parser/cxfa_issuers.h
+++ b/xfa/fxfa/parser/cxfa_issuers.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Issuers : public CXFA_Node {
+class CXFA_Issuers final : public CXFA_Node {
public:
CXFA_Issuers(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Issuers() override;
diff --git a/xfa/fxfa/parser/cxfa_items.h b/xfa/fxfa/parser/cxfa_items.h
index 586fabdeca..609b028ff8 100644
--- a/xfa/fxfa/parser/cxfa_items.h
+++ b/xfa/fxfa/parser/cxfa_items.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Items : public CXFA_Node {
+class CXFA_Items final : public CXFA_Node {
public:
CXFA_Items(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Items() override;
diff --git a/xfa/fxfa/parser/cxfa_jog.h b/xfa/fxfa/parser/cxfa_jog.h
index 266ccd1fd4..a40a488d5c 100644
--- a/xfa/fxfa/parser/cxfa_jog.h
+++ b/xfa/fxfa/parser/cxfa_jog.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Jog : public CXFA_Node {
+class CXFA_Jog final : public CXFA_Node {
public:
CXFA_Jog(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Jog() override;
diff --git a/xfa/fxfa/parser/cxfa_keep.h b/xfa/fxfa/parser/cxfa_keep.h
index 7d53f9634a..0d4a2e03c6 100644
--- a/xfa/fxfa/parser/cxfa_keep.h
+++ b/xfa/fxfa/parser/cxfa_keep.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Keep : public CXFA_Node {
+class CXFA_Keep final : public CXFA_Node {
public:
CXFA_Keep(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Keep() override;
diff --git a/xfa/fxfa/parser/cxfa_keyusage.h b/xfa/fxfa/parser/cxfa_keyusage.h
index b25807411b..3409e3f04a 100644
--- a/xfa/fxfa/parser/cxfa_keyusage.h
+++ b/xfa/fxfa/parser/cxfa_keyusage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_KeyUsage : public CXFA_Node {
+class CXFA_KeyUsage final : public CXFA_Node {
public:
CXFA_KeyUsage(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_KeyUsage() override;
diff --git a/xfa/fxfa/parser/cxfa_labelprinter.h b/xfa/fxfa/parser/cxfa_labelprinter.h
index e3f5d3bf75..74a5e822a6 100644
--- a/xfa/fxfa/parser/cxfa_labelprinter.h
+++ b/xfa/fxfa/parser/cxfa_labelprinter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_LabelPrinter : public CXFA_Node {
+class CXFA_LabelPrinter final : public CXFA_Node {
public:
CXFA_LabelPrinter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_LabelPrinter() override;
diff --git a/xfa/fxfa/parser/cxfa_layout.h b/xfa/fxfa/parser/cxfa_layout.h
index 93e069e163..ad25efa3ad 100644
--- a/xfa/fxfa/parser/cxfa_layout.h
+++ b/xfa/fxfa/parser/cxfa_layout.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Layout : public CXFA_Node {
+class CXFA_Layout final : public CXFA_Node {
public:
CXFA_Layout(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Layout() override;
diff --git a/xfa/fxfa/parser/cxfa_level.h b/xfa/fxfa/parser/cxfa_level.h
index abdd048232..8cc03dcfb2 100644
--- a/xfa/fxfa/parser/cxfa_level.h
+++ b/xfa/fxfa/parser/cxfa_level.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Level : public CXFA_Node {
+class CXFA_Level final : public CXFA_Node {
public:
CXFA_Level(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Level() override;
diff --git a/xfa/fxfa/parser/cxfa_line.h b/xfa/fxfa/parser/cxfa_line.h
index 18faacd16d..98a132d3c5 100644
--- a/xfa/fxfa/parser/cxfa_line.h
+++ b/xfa/fxfa/parser/cxfa_line.h
@@ -11,7 +11,7 @@
class CXFA_Edge;
-class CXFA_Line : public CXFA_Node {
+class CXFA_Line final : public CXFA_Node {
public:
CXFA_Line(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Line() override;
diff --git a/xfa/fxfa/parser/cxfa_linear.h b/xfa/fxfa/parser/cxfa_linear.h
index bb55f8073c..1315f9ada6 100644
--- a/xfa/fxfa/parser/cxfa_linear.h
+++ b/xfa/fxfa/parser/cxfa_linear.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Linear : public CXFA_Node {
+class CXFA_Linear final : public CXFA_Node {
public:
static constexpr XFA_AttributeEnum kDefaultType = XFA_AttributeEnum::ToRight;
diff --git a/xfa/fxfa/parser/cxfa_linearized.h b/xfa/fxfa/parser/cxfa_linearized.h
index df7846e0a8..d2fe2d75a0 100644
--- a/xfa/fxfa/parser/cxfa_linearized.h
+++ b/xfa/fxfa/parser/cxfa_linearized.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Linearized : public CXFA_Node {
+class CXFA_Linearized final : public CXFA_Node {
public:
CXFA_Linearized(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Linearized() override;
diff --git a/xfa/fxfa/parser/cxfa_locale.h b/xfa/fxfa/parser/cxfa_locale.h
index 3a7e83dc70..67bee33412 100644
--- a/xfa/fxfa/parser/cxfa_locale.h
+++ b/xfa/fxfa/parser/cxfa_locale.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Locale : public CXFA_Node {
+class CXFA_Locale final : public CXFA_Node {
public:
CXFA_Locale(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Locale() override;
diff --git a/xfa/fxfa/parser/cxfa_localeset.h b/xfa/fxfa/parser/cxfa_localeset.h
index 1d65ad11dc..dc6521a426 100644
--- a/xfa/fxfa/parser/cxfa_localeset.h
+++ b/xfa/fxfa/parser/cxfa_localeset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_LocaleSet : public CXFA_Node {
+class CXFA_LocaleSet final : public CXFA_Node {
public:
CXFA_LocaleSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_LocaleSet() override;
diff --git a/xfa/fxfa/parser/cxfa_lockdocument.h b/xfa/fxfa/parser/cxfa_lockdocument.h
index 025031ad7f..1328d340b9 100644
--- a/xfa/fxfa/parser/cxfa_lockdocument.h
+++ b/xfa/fxfa/parser/cxfa_lockdocument.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_LockDocument : public CXFA_Node {
+class CXFA_LockDocument final : public CXFA_Node {
public:
CXFA_LockDocument(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_LockDocument() override;
diff --git a/xfa/fxfa/parser/cxfa_log.h b/xfa/fxfa/parser/cxfa_log.h
index 17fd290f47..27173cd745 100644
--- a/xfa/fxfa/parser/cxfa_log.h
+++ b/xfa/fxfa/parser/cxfa_log.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Log : public CXFA_Node {
+class CXFA_Log final : public CXFA_Node {
public:
CXFA_Log(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Log() override;
diff --git a/xfa/fxfa/parser/cxfa_manifest.h b/xfa/fxfa/parser/cxfa_manifest.h
index a13cdacfae..d5ca05f88d 100644
--- a/xfa/fxfa/parser/cxfa_manifest.h
+++ b/xfa/fxfa/parser/cxfa_manifest.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Manifest : public CXFA_Node {
+class CXFA_Manifest final : public CXFA_Node {
public:
CXFA_Manifest(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Manifest() override;
diff --git a/xfa/fxfa/parser/cxfa_map.h b/xfa/fxfa/parser/cxfa_map.h
index c49568f9ce..f8e0797807 100644
--- a/xfa/fxfa/parser/cxfa_map.h
+++ b/xfa/fxfa/parser/cxfa_map.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Map : public CXFA_Node {
+class CXFA_Map final : public CXFA_Node {
public:
CXFA_Map(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Map() override;
diff --git a/xfa/fxfa/parser/cxfa_margin.h b/xfa/fxfa/parser/cxfa_margin.h
index e7f95b6c9c..813bdfe9d1 100644
--- a/xfa/fxfa/parser/cxfa_margin.h
+++ b/xfa/fxfa/parser/cxfa_margin.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Margin : public CXFA_Node {
+class CXFA_Margin final : public CXFA_Node {
public:
CXFA_Margin(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Margin() override;
diff --git a/xfa/fxfa/parser/cxfa_mdp.h b/xfa/fxfa/parser/cxfa_mdp.h
index 0ae626d557..79b14807ea 100644
--- a/xfa/fxfa/parser/cxfa_mdp.h
+++ b/xfa/fxfa/parser/cxfa_mdp.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Mdp : public CXFA_Node {
+class CXFA_Mdp final : public CXFA_Node {
public:
CXFA_Mdp(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Mdp() override;
diff --git a/xfa/fxfa/parser/cxfa_medium.h b/xfa/fxfa/parser/cxfa_medium.h
index b9b9c5d848..49be83f6b6 100644
--- a/xfa/fxfa/parser/cxfa_medium.h
+++ b/xfa/fxfa/parser/cxfa_medium.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Medium : public CXFA_Node {
+class CXFA_Medium final : public CXFA_Node {
public:
CXFA_Medium(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Medium() override;
diff --git a/xfa/fxfa/parser/cxfa_mediuminfo.h b/xfa/fxfa/parser/cxfa_mediuminfo.h
index da100eaec2..65e58df2f3 100644
--- a/xfa/fxfa/parser/cxfa_mediuminfo.h
+++ b/xfa/fxfa/parser/cxfa_mediuminfo.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MediumInfo : public CXFA_Node {
+class CXFA_MediumInfo final : public CXFA_Node {
public:
CXFA_MediumInfo(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MediumInfo() override;
diff --git a/xfa/fxfa/parser/cxfa_meridiem.h b/xfa/fxfa/parser/cxfa_meridiem.h
index 30bd4b06cc..40c956cbd2 100644
--- a/xfa/fxfa/parser/cxfa_meridiem.h
+++ b/xfa/fxfa/parser/cxfa_meridiem.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Meridiem : public CXFA_Node {
+class CXFA_Meridiem final : public CXFA_Node {
public:
CXFA_Meridiem(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Meridiem() override;
diff --git a/xfa/fxfa/parser/cxfa_meridiemnames.h b/xfa/fxfa/parser/cxfa_meridiemnames.h
index 8cade217e4..00fbbb7323 100644
--- a/xfa/fxfa/parser/cxfa_meridiemnames.h
+++ b/xfa/fxfa/parser/cxfa_meridiemnames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MeridiemNames : public CXFA_Node {
+class CXFA_MeridiemNames final : public CXFA_Node {
public:
CXFA_MeridiemNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MeridiemNames() override;
diff --git a/xfa/fxfa/parser/cxfa_message.h b/xfa/fxfa/parser/cxfa_message.h
index f172e061a3..81cb751371 100644
--- a/xfa/fxfa/parser/cxfa_message.h
+++ b/xfa/fxfa/parser/cxfa_message.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Message : public CXFA_Node {
+class CXFA_Message final : public CXFA_Node {
public:
CXFA_Message(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Message() override;
diff --git a/xfa/fxfa/parser/cxfa_messaging.h b/xfa/fxfa/parser/cxfa_messaging.h
index 48d16b3b9a..86e16f39a8 100644
--- a/xfa/fxfa/parser/cxfa_messaging.h
+++ b/xfa/fxfa/parser/cxfa_messaging.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Messaging : public CXFA_Node {
+class CXFA_Messaging final : public CXFA_Node {
public:
CXFA_Messaging(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Messaging() override;
diff --git a/xfa/fxfa/parser/cxfa_mode.h b/xfa/fxfa/parser/cxfa_mode.h
index 1dfd426d98..46675db98f 100644
--- a/xfa/fxfa/parser/cxfa_mode.h
+++ b/xfa/fxfa/parser/cxfa_mode.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Mode : public CXFA_Node {
+class CXFA_Mode final : public CXFA_Node {
public:
CXFA_Mode(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Mode() override;
diff --git a/xfa/fxfa/parser/cxfa_modifyannots.h b/xfa/fxfa/parser/cxfa_modifyannots.h
index 4e10921cca..c92b05b397 100644
--- a/xfa/fxfa/parser/cxfa_modifyannots.h
+++ b/xfa/fxfa/parser/cxfa_modifyannots.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ModifyAnnots : public CXFA_Node {
+class CXFA_ModifyAnnots final : public CXFA_Node {
public:
CXFA_ModifyAnnots(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ModifyAnnots() override;
diff --git a/xfa/fxfa/parser/cxfa_month.h b/xfa/fxfa/parser/cxfa_month.h
index 69361f540c..f63095d051 100644
--- a/xfa/fxfa/parser/cxfa_month.h
+++ b/xfa/fxfa/parser/cxfa_month.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Month : public CXFA_Node {
+class CXFA_Month final : public CXFA_Node {
public:
CXFA_Month(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Month() override;
diff --git a/xfa/fxfa/parser/cxfa_monthnames.h b/xfa/fxfa/parser/cxfa_monthnames.h
index f95512b3aa..cf0c3317c5 100644
--- a/xfa/fxfa/parser/cxfa_monthnames.h
+++ b/xfa/fxfa/parser/cxfa_monthnames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MonthNames : public CXFA_Node {
+class CXFA_MonthNames final : public CXFA_Node {
public:
CXFA_MonthNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MonthNames() override;
diff --git a/xfa/fxfa/parser/cxfa_msgid.h b/xfa/fxfa/parser/cxfa_msgid.h
index 333085a37b..4c166d730f 100644
--- a/xfa/fxfa/parser/cxfa_msgid.h
+++ b/xfa/fxfa/parser/cxfa_msgid.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MsgId : public CXFA_Node {
+class CXFA_MsgId final : public CXFA_Node {
public:
CXFA_MsgId(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MsgId() override;
diff --git a/xfa/fxfa/parser/cxfa_nameattr.h b/xfa/fxfa/parser/cxfa_nameattr.h
index 05514c020b..f346bf64e9 100644
--- a/xfa/fxfa/parser/cxfa_nameattr.h
+++ b/xfa/fxfa/parser/cxfa_nameattr.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NameAttr : public CXFA_Node {
+class CXFA_NameAttr final : public CXFA_Node {
public:
CXFA_NameAttr(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NameAttr() override;
diff --git a/xfa/fxfa/parser/cxfa_neverembed.h b/xfa/fxfa/parser/cxfa_neverembed.h
index 11ec928339..70f90a3e13 100644
--- a/xfa/fxfa/parser/cxfa_neverembed.h
+++ b/xfa/fxfa/parser/cxfa_neverembed.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NeverEmbed : public CXFA_Node {
+class CXFA_NeverEmbed final : public CXFA_Node {
public:
CXFA_NeverEmbed(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NeverEmbed() override;
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 7e582c0518..7d707d0baa 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -418,7 +418,7 @@ class CXFA_WidgetLayoutData {
float m_fWidgetHeight = -1.0f;
};
-class CXFA_TextLayoutData : public CXFA_WidgetLayoutData {
+class CXFA_TextLayoutData final : public CXFA_WidgetLayoutData {
public:
CXFA_TextLayoutData() = default;
~CXFA_TextLayoutData() override = default;
@@ -443,7 +443,7 @@ class CXFA_TextLayoutData : public CXFA_WidgetLayoutData {
std::unique_ptr<CXFA_TextProvider> m_pTextProvider;
};
-class CXFA_ImageLayoutData : public CXFA_WidgetLayoutData {
+class CXFA_ImageLayoutData final : public CXFA_WidgetLayoutData {
public:
CXFA_ImageLayoutData() = default;
~CXFA_ImageLayoutData() override = default;
@@ -503,7 +503,7 @@ class CXFA_FieldLayoutData : public CXFA_WidgetLayoutData {
std::vector<float> m_FieldSplitArray;
};
-class CXFA_TextEditData : public CXFA_FieldLayoutData {
+class CXFA_TextEditData final : public CXFA_FieldLayoutData {
public:
CXFA_TextEditData() = default;
~CXFA_TextEditData() override = default;
@@ -511,7 +511,7 @@ class CXFA_TextEditData : public CXFA_FieldLayoutData {
CXFA_TextEditData* AsTextEditData() override { return this; }
};
-class CXFA_ImageEditData : public CXFA_FieldLayoutData {
+class CXFA_ImageEditData final : public CXFA_FieldLayoutData {
public:
CXFA_ImageEditData() = default;
~CXFA_ImageEditData() override = default;
diff --git a/xfa/fxfa/parser/cxfa_node_unittest.cpp b/xfa/fxfa/parser/cxfa_node_unittest.cpp
index 81e21890df..7b3c09df3a 100644
--- a/xfa/fxfa/parser/cxfa_node_unittest.cpp
+++ b/xfa/fxfa/parser/cxfa_node_unittest.cpp
@@ -10,7 +10,7 @@
namespace {
-class TestNode : public CXFA_Node {
+class TestNode final : public CXFA_Node {
public:
explicit TestNode(CXFA_Document* doc)
: CXFA_Node(doc,
diff --git a/xfa/fxfa/parser/cxfa_nodelocale.h b/xfa/fxfa/parser/cxfa_nodelocale.h
index e802cd9b34..da6846b581 100644
--- a/xfa/fxfa/parser/cxfa_nodelocale.h
+++ b/xfa/fxfa/parser/cxfa_nodelocale.h
@@ -16,7 +16,7 @@ class CXFA_Node;
WideString XFA_PatternToString(FX_LOCALENUMSUBCATEGORY category);
-class CXFA_NodeLocale : public LocaleIface {
+class CXFA_NodeLocale final : public LocaleIface {
public:
explicit CXFA_NodeLocale(CXFA_Node* pLocale);
~CXFA_NodeLocale() override;
diff --git a/xfa/fxfa/parser/cxfa_numberofcopies.h b/xfa/fxfa/parser/cxfa_numberofcopies.h
index 04bb599984..3215bb31da 100644
--- a/xfa/fxfa/parser/cxfa_numberofcopies.h
+++ b/xfa/fxfa/parser/cxfa_numberofcopies.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberOfCopies : public CXFA_Node {
+class CXFA_NumberOfCopies final : public CXFA_Node {
public:
CXFA_NumberOfCopies(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberOfCopies() override;
diff --git a/xfa/fxfa/parser/cxfa_numberpattern.h b/xfa/fxfa/parser/cxfa_numberpattern.h
index 0a4fabd2a2..5c42d4658a 100644
--- a/xfa/fxfa/parser/cxfa_numberpattern.h
+++ b/xfa/fxfa/parser/cxfa_numberpattern.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberPattern : public CXFA_Node {
+class CXFA_NumberPattern final : public CXFA_Node {
public:
CXFA_NumberPattern(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberPattern() override;
diff --git a/xfa/fxfa/parser/cxfa_numberpatterns.h b/xfa/fxfa/parser/cxfa_numberpatterns.h
index ef4f8893a2..58c8cb6a6f 100644
--- a/xfa/fxfa/parser/cxfa_numberpatterns.h
+++ b/xfa/fxfa/parser/cxfa_numberpatterns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberPatterns : public CXFA_Node {
+class CXFA_NumberPatterns final : public CXFA_Node {
public:
CXFA_NumberPatterns(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberPatterns() override;
diff --git a/xfa/fxfa/parser/cxfa_numbersymbol.h b/xfa/fxfa/parser/cxfa_numbersymbol.h
index c164b0381b..404f366cfa 100644
--- a/xfa/fxfa/parser/cxfa_numbersymbol.h
+++ b/xfa/fxfa/parser/cxfa_numbersymbol.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberSymbol : public CXFA_Node {
+class CXFA_NumberSymbol final : public CXFA_Node {
public:
CXFA_NumberSymbol(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberSymbol() override;
diff --git a/xfa/fxfa/parser/cxfa_numbersymbols.h b/xfa/fxfa/parser/cxfa_numbersymbols.h
index 972df9f455..37bb6fc1c8 100644
--- a/xfa/fxfa/parser/cxfa_numbersymbols.h
+++ b/xfa/fxfa/parser/cxfa_numbersymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberSymbols : public CXFA_Node {
+class CXFA_NumberSymbols final : public CXFA_Node {
public:
CXFA_NumberSymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberSymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_numericedit.h b/xfa/fxfa/parser/cxfa_numericedit.h
index 1a96f467c9..145bf087a9 100644
--- a/xfa/fxfa/parser/cxfa_numericedit.h
+++ b/xfa/fxfa/parser/cxfa_numericedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumericEdit : public CXFA_Node {
+class CXFA_NumericEdit final : public CXFA_Node {
public:
CXFA_NumericEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumericEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_occur.h b/xfa/fxfa/parser/cxfa_occur.h
index 070c15ca46..58029a3763 100644
--- a/xfa/fxfa/parser/cxfa_occur.h
+++ b/xfa/fxfa/parser/cxfa_occur.h
@@ -11,7 +11,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Occur : public CXFA_Node {
+class CXFA_Occur final : public CXFA_Node {
public:
static constexpr int32_t kDefaultMax = 1;
static constexpr int32_t kDefaultMin = 1;
diff --git a/xfa/fxfa/parser/cxfa_oid.h b/xfa/fxfa/parser/cxfa_oid.h
index 45abf8ba7d..c9ccb7196a 100644
--- a/xfa/fxfa/parser/cxfa_oid.h
+++ b/xfa/fxfa/parser/cxfa_oid.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Oid : public CXFA_Node {
+class CXFA_Oid final : public CXFA_Node {
public:
CXFA_Oid(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Oid() override;
diff --git a/xfa/fxfa/parser/cxfa_oids.h b/xfa/fxfa/parser/cxfa_oids.h
index cc8cd9c2de..f5376015f5 100644
--- a/xfa/fxfa/parser/cxfa_oids.h
+++ b/xfa/fxfa/parser/cxfa_oids.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Oids : public CXFA_Node {
+class CXFA_Oids final : public CXFA_Node {
public:
CXFA_Oids(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Oids() override;
diff --git a/xfa/fxfa/parser/cxfa_openaction.h b/xfa/fxfa/parser/cxfa_openaction.h
index d84eb2974f..2eff67cd88 100644
--- a/xfa/fxfa/parser/cxfa_openaction.h
+++ b/xfa/fxfa/parser/cxfa_openaction.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_OpenAction : public CXFA_Node {
+class CXFA_OpenAction final : public CXFA_Node {
public:
CXFA_OpenAction(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_OpenAction() override;
diff --git a/xfa/fxfa/parser/cxfa_operation.h b/xfa/fxfa/parser/cxfa_operation.h
index 454a354873..4df63aa3a4 100644
--- a/xfa/fxfa/parser/cxfa_operation.h
+++ b/xfa/fxfa/parser/cxfa_operation.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Operation : public CXFA_Node {
+class CXFA_Operation final : public CXFA_Node {
public:
CXFA_Operation(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Operation() override;
diff --git a/xfa/fxfa/parser/cxfa_output.h b/xfa/fxfa/parser/cxfa_output.h
index 2eb139113b..45555be5ae 100644
--- a/xfa/fxfa/parser/cxfa_output.h
+++ b/xfa/fxfa/parser/cxfa_output.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Output : public CXFA_Node {
+class CXFA_Output final : public CXFA_Node {
public:
CXFA_Output(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Output() override;
diff --git a/xfa/fxfa/parser/cxfa_outputbin.h b/xfa/fxfa/parser/cxfa_outputbin.h
index 25a1ae0a73..7ab4540e19 100644
--- a/xfa/fxfa/parser/cxfa_outputbin.h
+++ b/xfa/fxfa/parser/cxfa_outputbin.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_OutputBin : public CXFA_Node {
+class CXFA_OutputBin final : public CXFA_Node {
public:
CXFA_OutputBin(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_OutputBin() override;
diff --git a/xfa/fxfa/parser/cxfa_outputxsl.h b/xfa/fxfa/parser/cxfa_outputxsl.h
index 45355236c0..361ea4247b 100644
--- a/xfa/fxfa/parser/cxfa_outputxsl.h
+++ b/xfa/fxfa/parser/cxfa_outputxsl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_OutputXSL : public CXFA_Node {
+class CXFA_OutputXSL final : public CXFA_Node {
public:
CXFA_OutputXSL(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_OutputXSL() override;
diff --git a/xfa/fxfa/parser/cxfa_overflow.h b/xfa/fxfa/parser/cxfa_overflow.h
index e6627bacb7..da2717a9c5 100644
--- a/xfa/fxfa/parser/cxfa_overflow.h
+++ b/xfa/fxfa/parser/cxfa_overflow.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Overflow : public CXFA_Node {
+class CXFA_Overflow final : public CXFA_Node {
public:
CXFA_Overflow(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Overflow() override;
diff --git a/xfa/fxfa/parser/cxfa_overprint.h b/xfa/fxfa/parser/cxfa_overprint.h
index a9ec2416f0..e5e360d2a7 100644
--- a/xfa/fxfa/parser/cxfa_overprint.h
+++ b/xfa/fxfa/parser/cxfa_overprint.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Overprint : public CXFA_Node {
+class CXFA_Overprint final : public CXFA_Node {
public:
CXFA_Overprint(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Overprint() override;
diff --git a/xfa/fxfa/parser/cxfa_packet.h b/xfa/fxfa/parser/cxfa_packet.h
index 6bda61d429..c94c74c48b 100644
--- a/xfa/fxfa/parser/cxfa_packet.h
+++ b/xfa/fxfa/parser/cxfa_packet.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Packet : public CXFA_Node {
+class CXFA_Packet final : public CXFA_Node {
public:
CXFA_Packet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Packet() override;
diff --git a/xfa/fxfa/parser/cxfa_packets.h b/xfa/fxfa/parser/cxfa_packets.h
index ebf29b670b..5e0f4086ec 100644
--- a/xfa/fxfa/parser/cxfa_packets.h
+++ b/xfa/fxfa/parser/cxfa_packets.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Packets : public CXFA_Node {
+class CXFA_Packets final : public CXFA_Node {
public:
CXFA_Packets(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Packets() override;
diff --git a/xfa/fxfa/parser/cxfa_pagearea.h b/xfa/fxfa/parser/cxfa_pagearea.h
index f3cab1e073..8a8afaa0d3 100644
--- a/xfa/fxfa/parser/cxfa_pagearea.h
+++ b/xfa/fxfa/parser/cxfa_pagearea.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageArea : public CXFA_Node {
+class CXFA_PageArea final : public CXFA_Node {
public:
CXFA_PageArea(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageArea() override;
diff --git a/xfa/fxfa/parser/cxfa_pageoffset.h b/xfa/fxfa/parser/cxfa_pageoffset.h
index a396c57baf..d090b116c3 100644
--- a/xfa/fxfa/parser/cxfa_pageoffset.h
+++ b/xfa/fxfa/parser/cxfa_pageoffset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageOffset : public CXFA_Node {
+class CXFA_PageOffset final : public CXFA_Node {
public:
CXFA_PageOffset(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageOffset() override;
diff --git a/xfa/fxfa/parser/cxfa_pagerange.h b/xfa/fxfa/parser/cxfa_pagerange.h
index 949276aa9c..a0317b50b0 100644
--- a/xfa/fxfa/parser/cxfa_pagerange.h
+++ b/xfa/fxfa/parser/cxfa_pagerange.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageRange : public CXFA_Node {
+class CXFA_PageRange final : public CXFA_Node {
public:
CXFA_PageRange(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageRange() override;
diff --git a/xfa/fxfa/parser/cxfa_pageset.h b/xfa/fxfa/parser/cxfa_pageset.h
index 9cc3b1708e..da71581c63 100644
--- a/xfa/fxfa/parser/cxfa_pageset.h
+++ b/xfa/fxfa/parser/cxfa_pageset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageSet : public CXFA_Node {
+class CXFA_PageSet final : public CXFA_Node {
public:
CXFA_PageSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageSet() override;
diff --git a/xfa/fxfa/parser/cxfa_pagination.h b/xfa/fxfa/parser/cxfa_pagination.h
index a455ecbaed..9bbd820e21 100644
--- a/xfa/fxfa/parser/cxfa_pagination.h
+++ b/xfa/fxfa/parser/cxfa_pagination.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pagination : public CXFA_Node {
+class CXFA_Pagination final : public CXFA_Node {
public:
CXFA_Pagination(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pagination() override;
diff --git a/xfa/fxfa/parser/cxfa_paginationoverride.h b/xfa/fxfa/parser/cxfa_paginationoverride.h
index 9cc9528244..4f0efbabf0 100644
--- a/xfa/fxfa/parser/cxfa_paginationoverride.h
+++ b/xfa/fxfa/parser/cxfa_paginationoverride.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PaginationOverride : public CXFA_Node {
+class CXFA_PaginationOverride final : public CXFA_Node {
public:
CXFA_PaginationOverride(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PaginationOverride() override;
diff --git a/xfa/fxfa/parser/cxfa_para.h b/xfa/fxfa/parser/cxfa_para.h
index afb48ce819..7fd39a65c6 100644
--- a/xfa/fxfa/parser/cxfa_para.h
+++ b/xfa/fxfa/parser/cxfa_para.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Para : public CXFA_Node {
+class CXFA_Para final : public CXFA_Node {
public:
CXFA_Para(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Para() override;
diff --git a/xfa/fxfa/parser/cxfa_part.h b/xfa/fxfa/parser/cxfa_part.h
index 3db76399a7..99c2c59b87 100644
--- a/xfa/fxfa/parser/cxfa_part.h
+++ b/xfa/fxfa/parser/cxfa_part.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Part : public CXFA_Node {
+class CXFA_Part final : public CXFA_Node {
public:
CXFA_Part(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Part() override;
diff --git a/xfa/fxfa/parser/cxfa_password.h b/xfa/fxfa/parser/cxfa_password.h
index 904f91fd3d..a2cbca7ac6 100644
--- a/xfa/fxfa/parser/cxfa_password.h
+++ b/xfa/fxfa/parser/cxfa_password.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Password : public CXFA_Node {
+class CXFA_Password final : public CXFA_Node {
public:
CXFA_Password(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Password() override;
diff --git a/xfa/fxfa/parser/cxfa_passwordedit.h b/xfa/fxfa/parser/cxfa_passwordedit.h
index 6c8e8e5856..fae812fd2b 100644
--- a/xfa/fxfa/parser/cxfa_passwordedit.h
+++ b/xfa/fxfa/parser/cxfa_passwordedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PasswordEdit : public CXFA_Node {
+class CXFA_PasswordEdit final : public CXFA_Node {
public:
CXFA_PasswordEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PasswordEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_pattern.h b/xfa/fxfa/parser/cxfa_pattern.h
index 7533ac91a4..04119c4491 100644
--- a/xfa/fxfa/parser/cxfa_pattern.h
+++ b/xfa/fxfa/parser/cxfa_pattern.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Pattern : public CXFA_Node {
+class CXFA_Pattern final : public CXFA_Node {
public:
static constexpr XFA_AttributeEnum kDefaultType = XFA_AttributeEnum::Unknown;
diff --git a/xfa/fxfa/parser/cxfa_pcl.h b/xfa/fxfa/parser/cxfa_pcl.h
index 9b78265794..c9d94d6ffe 100644
--- a/xfa/fxfa/parser/cxfa_pcl.h
+++ b/xfa/fxfa/parser/cxfa_pcl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pcl : public CXFA_Node {
+class CXFA_Pcl final : public CXFA_Node {
public:
CXFA_Pcl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pcl() override;
diff --git a/xfa/fxfa/parser/cxfa_pdf.h b/xfa/fxfa/parser/cxfa_pdf.h
index d0925c8a94..00e4d3831e 100644
--- a/xfa/fxfa/parser/cxfa_pdf.h
+++ b/xfa/fxfa/parser/cxfa_pdf.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pdf : public CXFA_Node {
+class CXFA_Pdf final : public CXFA_Node {
public:
CXFA_Pdf(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pdf() override;
diff --git a/xfa/fxfa/parser/cxfa_pdfa.h b/xfa/fxfa/parser/cxfa_pdfa.h
index d0816a2733..e43f025888 100644
--- a/xfa/fxfa/parser/cxfa_pdfa.h
+++ b/xfa/fxfa/parser/cxfa_pdfa.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pdfa : public CXFA_Node {
+class CXFA_Pdfa final : public CXFA_Node {
public:
CXFA_Pdfa(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pdfa() override;
diff --git a/xfa/fxfa/parser/cxfa_permissions.h b/xfa/fxfa/parser/cxfa_permissions.h
index dca9018b17..79b3bf1a68 100644
--- a/xfa/fxfa/parser/cxfa_permissions.h
+++ b/xfa/fxfa/parser/cxfa_permissions.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Permissions : public CXFA_Node {
+class CXFA_Permissions final : public CXFA_Node {
public:
CXFA_Permissions(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Permissions() override;
diff --git a/xfa/fxfa/parser/cxfa_picktraybypdfsize.h b/xfa/fxfa/parser/cxfa_picktraybypdfsize.h
index ef75e5c8fc..387155251a 100644
--- a/xfa/fxfa/parser/cxfa_picktraybypdfsize.h
+++ b/xfa/fxfa/parser/cxfa_picktraybypdfsize.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PickTrayByPDFSize : public CXFA_Node {
+class CXFA_PickTrayByPDFSize final : public CXFA_Node {
public:
CXFA_PickTrayByPDFSize(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PickTrayByPDFSize() override;
diff --git a/xfa/fxfa/parser/cxfa_picture.h b/xfa/fxfa/parser/cxfa_picture.h
index 9fd2c558e2..304c7b9245 100644
--- a/xfa/fxfa/parser/cxfa_picture.h
+++ b/xfa/fxfa/parser/cxfa_picture.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Picture : public CXFA_Node {
+class CXFA_Picture final : public CXFA_Node {
public:
CXFA_Picture(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Picture() override;
diff --git a/xfa/fxfa/parser/cxfa_plaintextmetadata.h b/xfa/fxfa/parser/cxfa_plaintextmetadata.h
index 03dce65f79..65e0dedd38 100644
--- a/xfa/fxfa/parser/cxfa_plaintextmetadata.h
+++ b/xfa/fxfa/parser/cxfa_plaintextmetadata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PlaintextMetadata : public CXFA_Node {
+class CXFA_PlaintextMetadata final : public CXFA_Node {
public:
CXFA_PlaintextMetadata(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PlaintextMetadata() override;
diff --git a/xfa/fxfa/parser/cxfa_presence.h b/xfa/fxfa/parser/cxfa_presence.h
index a9b7766fe1..1bd6e45665 100644
--- a/xfa/fxfa/parser/cxfa_presence.h
+++ b/xfa/fxfa/parser/cxfa_presence.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Presence : public CXFA_Node {
+class CXFA_Presence final : public CXFA_Node {
public:
CXFA_Presence(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Presence() override;
diff --git a/xfa/fxfa/parser/cxfa_present.h b/xfa/fxfa/parser/cxfa_present.h
index 13b3c61664..36db503553 100644
--- a/xfa/fxfa/parser/cxfa_present.h
+++ b/xfa/fxfa/parser/cxfa_present.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Present : public CXFA_Node {
+class CXFA_Present final : public CXFA_Node {
public:
CXFA_Present(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Present() override;
diff --git a/xfa/fxfa/parser/cxfa_print.h b/xfa/fxfa/parser/cxfa_print.h
index 5f2513e10d..7f6fff9387 100644
--- a/xfa/fxfa/parser/cxfa_print.h
+++ b/xfa/fxfa/parser/cxfa_print.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Print : public CXFA_Node {
+class CXFA_Print final : public CXFA_Node {
public:
CXFA_Print(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Print() override;
diff --git a/xfa/fxfa/parser/cxfa_printername.h b/xfa/fxfa/parser/cxfa_printername.h
index 4f07885ccf..a85d61ef57 100644
--- a/xfa/fxfa/parser/cxfa_printername.h
+++ b/xfa/fxfa/parser/cxfa_printername.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PrinterName : public CXFA_Node {
+class CXFA_PrinterName final : public CXFA_Node {
public:
CXFA_PrinterName(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PrinterName() override;
diff --git a/xfa/fxfa/parser/cxfa_printhighquality.h b/xfa/fxfa/parser/cxfa_printhighquality.h
index 6cd61125bd..6268489abd 100644
--- a/xfa/fxfa/parser/cxfa_printhighquality.h
+++ b/xfa/fxfa/parser/cxfa_printhighquality.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PrintHighQuality : public CXFA_Node {
+class CXFA_PrintHighQuality final : public CXFA_Node {
public:
CXFA_PrintHighQuality(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PrintHighQuality() override;
diff --git a/xfa/fxfa/parser/cxfa_printscaling.h b/xfa/fxfa/parser/cxfa_printscaling.h
index e21d427e2a..76bf112b79 100644
--- a/xfa/fxfa/parser/cxfa_printscaling.h
+++ b/xfa/fxfa/parser/cxfa_printscaling.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PrintScaling : public CXFA_Node {
+class CXFA_PrintScaling final : public CXFA_Node {
public:
CXFA_PrintScaling(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PrintScaling() override;
diff --git a/xfa/fxfa/parser/cxfa_producer.h b/xfa/fxfa/parser/cxfa_producer.h
index 584826e752..c40a334b0d 100644
--- a/xfa/fxfa/parser/cxfa_producer.h
+++ b/xfa/fxfa/parser/cxfa_producer.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Producer : public CXFA_Node {
+class CXFA_Producer final : public CXFA_Node {
public:
CXFA_Producer(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Producer() override;
diff --git a/xfa/fxfa/parser/cxfa_proto.h b/xfa/fxfa/parser/cxfa_proto.h
index 8e1d84a54e..5af7ba2296 100644
--- a/xfa/fxfa/parser/cxfa_proto.h
+++ b/xfa/fxfa/parser/cxfa_proto.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Proto : public CXFA_Node {
+class CXFA_Proto final : public CXFA_Node {
public:
CXFA_Proto(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Proto() override;
diff --git a/xfa/fxfa/parser/cxfa_ps.h b/xfa/fxfa/parser/cxfa_ps.h
index 5ef7e82c5c..f51c510eee 100644
--- a/xfa/fxfa/parser/cxfa_ps.h
+++ b/xfa/fxfa/parser/cxfa_ps.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Ps : public CXFA_Node {
+class CXFA_Ps final : public CXFA_Node {
public:
CXFA_Ps(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Ps() override;
diff --git a/xfa/fxfa/parser/cxfa_psmap.h b/xfa/fxfa/parser/cxfa_psmap.h
index 8297aaa917..802e1233ee 100644
--- a/xfa/fxfa/parser/cxfa_psmap.h
+++ b/xfa/fxfa/parser/cxfa_psmap.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PsMap : public CXFA_Node {
+class CXFA_PsMap final : public CXFA_Node {
public:
CXFA_PsMap(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PsMap() override;
diff --git a/xfa/fxfa/parser/cxfa_query.h b/xfa/fxfa/parser/cxfa_query.h
index 548e7fc032..7d62c68a99 100644
--- a/xfa/fxfa/parser/cxfa_query.h
+++ b/xfa/fxfa/parser/cxfa_query.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Query : public CXFA_Node {
+class CXFA_Query final : public CXFA_Node {
public:
CXFA_Query(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Query() override;
diff --git a/xfa/fxfa/parser/cxfa_radial.h b/xfa/fxfa/parser/cxfa_radial.h
index b7ce95c695..8fb30b5d29 100644
--- a/xfa/fxfa/parser/cxfa_radial.h
+++ b/xfa/fxfa/parser/cxfa_radial.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Radial : public CXFA_Node {
+class CXFA_Radial final : public CXFA_Node {
public:
CXFA_Radial(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Radial() override;
diff --git a/xfa/fxfa/parser/cxfa_range.h b/xfa/fxfa/parser/cxfa_range.h
index 23c8d1fc27..5d8920daa0 100644
--- a/xfa/fxfa/parser/cxfa_range.h
+++ b/xfa/fxfa/parser/cxfa_range.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Range : public CXFA_Node {
+class CXFA_Range final : public CXFA_Node {
public:
CXFA_Range(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Range() override;
diff --git a/xfa/fxfa/parser/cxfa_reason.h b/xfa/fxfa/parser/cxfa_reason.h
index 451fd820da..1475637884 100644
--- a/xfa/fxfa/parser/cxfa_reason.h
+++ b/xfa/fxfa/parser/cxfa_reason.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Reason : public CXFA_Node {
+class CXFA_Reason final : public CXFA_Node {
public:
CXFA_Reason(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Reason() override;
diff --git a/xfa/fxfa/parser/cxfa_reasons.h b/xfa/fxfa/parser/cxfa_reasons.h
index 57e9e092c8..673a9b2fcc 100644
--- a/xfa/fxfa/parser/cxfa_reasons.h
+++ b/xfa/fxfa/parser/cxfa_reasons.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Reasons : public CXFA_Node {
+class CXFA_Reasons final : public CXFA_Node {
public:
CXFA_Reasons(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Reasons() override;
diff --git a/xfa/fxfa/parser/cxfa_record.h b/xfa/fxfa/parser/cxfa_record.h
index bd2622da7a..de0d0c4b92 100644
--- a/xfa/fxfa/parser/cxfa_record.h
+++ b/xfa/fxfa/parser/cxfa_record.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Record : public CXFA_Node {
+class CXFA_Record final : public CXFA_Node {
public:
CXFA_Record(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Record() override;
diff --git a/xfa/fxfa/parser/cxfa_recordset.h b/xfa/fxfa/parser/cxfa_recordset.h
index c623516403..a9895bd2ea 100644
--- a/xfa/fxfa/parser/cxfa_recordset.h
+++ b/xfa/fxfa/parser/cxfa_recordset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RecordSet : public CXFA_Node {
+class CXFA_RecordSet final : public CXFA_Node {
public:
CXFA_RecordSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RecordSet() override;
diff --git a/xfa/fxfa/parser/cxfa_ref.h b/xfa/fxfa/parser/cxfa_ref.h
index 630510fe2f..5ab8e004ac 100644
--- a/xfa/fxfa/parser/cxfa_ref.h
+++ b/xfa/fxfa/parser/cxfa_ref.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Ref : public CXFA_Node {
+class CXFA_Ref final : public CXFA_Node {
public:
CXFA_Ref(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Ref() override;
diff --git a/xfa/fxfa/parser/cxfa_relevant.h b/xfa/fxfa/parser/cxfa_relevant.h
index 2018c95e67..03283c3dfd 100644
--- a/xfa/fxfa/parser/cxfa_relevant.h
+++ b/xfa/fxfa/parser/cxfa_relevant.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Relevant : public CXFA_Node {
+class CXFA_Relevant final : public CXFA_Node {
public:
CXFA_Relevant(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Relevant() override;
diff --git a/xfa/fxfa/parser/cxfa_rename.h b/xfa/fxfa/parser/cxfa_rename.h
index 665c85286e..f50d8521c9 100644
--- a/xfa/fxfa/parser/cxfa_rename.h
+++ b/xfa/fxfa/parser/cxfa_rename.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Rename : public CXFA_Node {
+class CXFA_Rename final : public CXFA_Node {
public:
CXFA_Rename(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Rename() override;
diff --git a/xfa/fxfa/parser/cxfa_renderpolicy.h b/xfa/fxfa/parser/cxfa_renderpolicy.h
index 24ddf46d99..4947289827 100644
--- a/xfa/fxfa/parser/cxfa_renderpolicy.h
+++ b/xfa/fxfa/parser/cxfa_renderpolicy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RenderPolicy : public CXFA_Node {
+class CXFA_RenderPolicy final : public CXFA_Node {
public:
CXFA_RenderPolicy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RenderPolicy() override;
diff --git a/xfa/fxfa/parser/cxfa_rootelement.h b/xfa/fxfa/parser/cxfa_rootelement.h
index a995e8cc3a..4a9218e6bc 100644
--- a/xfa/fxfa/parser/cxfa_rootelement.h
+++ b/xfa/fxfa/parser/cxfa_rootelement.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RootElement : public CXFA_Node {
+class CXFA_RootElement final : public CXFA_Node {
public:
CXFA_RootElement(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RootElement() override;
diff --git a/xfa/fxfa/parser/cxfa_runscripts.h b/xfa/fxfa/parser/cxfa_runscripts.h
index d2ecaa0f16..2f80b0d2da 100644
--- a/xfa/fxfa/parser/cxfa_runscripts.h
+++ b/xfa/fxfa/parser/cxfa_runscripts.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RunScripts : public CXFA_Node {
+class CXFA_RunScripts final : public CXFA_Node {
public:
CXFA_RunScripts(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RunScripts() override;
diff --git a/xfa/fxfa/parser/cxfa_script.h b/xfa/fxfa/parser/cxfa_script.h
index 8ea7aac60b..5f48f45318 100644
--- a/xfa/fxfa/parser/cxfa_script.h
+++ b/xfa/fxfa/parser/cxfa_script.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/widestring.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Script : public CXFA_Node {
+class CXFA_Script final : public CXFA_Node {
public:
enum class Type {
Formcalc = 0,
diff --git a/xfa/fxfa/parser/cxfa_scriptmodel.h b/xfa/fxfa/parser/cxfa_scriptmodel.h
index 40bc96ebc8..a71073e647 100644
--- a/xfa/fxfa/parser/cxfa_scriptmodel.h
+++ b/xfa/fxfa/parser/cxfa_scriptmodel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ScriptModel : public CXFA_Node {
+class CXFA_ScriptModel final : public CXFA_Node {
public:
CXFA_ScriptModel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ScriptModel() override;
diff --git a/xfa/fxfa/parser/cxfa_select.h b/xfa/fxfa/parser/cxfa_select.h
index 76651e07c9..82fc0d2fc6 100644
--- a/xfa/fxfa/parser/cxfa_select.h
+++ b/xfa/fxfa/parser/cxfa_select.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Select : public CXFA_Node {
+class CXFA_Select final : public CXFA_Node {
public:
CXFA_Select(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Select() override;
diff --git a/xfa/fxfa/parser/cxfa_setproperty.h b/xfa/fxfa/parser/cxfa_setproperty.h
index 3f8f430465..aab588b5c2 100644
--- a/xfa/fxfa/parser/cxfa_setproperty.h
+++ b/xfa/fxfa/parser/cxfa_setproperty.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SetProperty : public CXFA_Node {
+class CXFA_SetProperty final : public CXFA_Node {
public:
CXFA_SetProperty(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SetProperty() override;
diff --git a/xfa/fxfa/parser/cxfa_severity.h b/xfa/fxfa/parser/cxfa_severity.h
index 711445557a..b2283c9564 100644
--- a/xfa/fxfa/parser/cxfa_severity.h
+++ b/xfa/fxfa/parser/cxfa_severity.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Severity : public CXFA_Node {
+class CXFA_Severity final : public CXFA_Node {
public:
CXFA_Severity(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Severity() override;
diff --git a/xfa/fxfa/parser/cxfa_sharptext.h b/xfa/fxfa/parser/cxfa_sharptext.h
index 89a050b70b..f2a41e8d67 100644
--- a/xfa/fxfa/parser/cxfa_sharptext.h
+++ b/xfa/fxfa/parser/cxfa_sharptext.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Sharptext : public CXFA_Node {
+class CXFA_Sharptext final : public CXFA_Node {
public:
CXFA_Sharptext(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Sharptext() override;
diff --git a/xfa/fxfa/parser/cxfa_sharpxhtml.h b/xfa/fxfa/parser/cxfa_sharpxhtml.h
index 3f6cf793e2..b73789d3ca 100644
--- a/xfa/fxfa/parser/cxfa_sharpxhtml.h
+++ b/xfa/fxfa/parser/cxfa_sharpxhtml.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SharpxHTML : public CXFA_Node {
+class CXFA_SharpxHTML final : public CXFA_Node {
public:
CXFA_SharpxHTML(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SharpxHTML() override;
diff --git a/xfa/fxfa/parser/cxfa_sharpxml.h b/xfa/fxfa/parser/cxfa_sharpxml.h
index a065857a42..b2e467a070 100644
--- a/xfa/fxfa/parser/cxfa_sharpxml.h
+++ b/xfa/fxfa/parser/cxfa_sharpxml.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Sharpxml : public CXFA_Node {
+class CXFA_Sharpxml final : public CXFA_Node {
public:
CXFA_Sharpxml(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Sharpxml() override;
diff --git a/xfa/fxfa/parser/cxfa_signature.h b/xfa/fxfa/parser/cxfa_signature.h
index 3491a1e025..678e892f53 100644
--- a/xfa/fxfa/parser/cxfa_signature.h
+++ b/xfa/fxfa/parser/cxfa_signature.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Signature : public CXFA_Node {
+class CXFA_Signature final : public CXFA_Node {
public:
CXFA_Signature(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Signature() override;
diff --git a/xfa/fxfa/parser/cxfa_signatureproperties.h b/xfa/fxfa/parser/cxfa_signatureproperties.h
index 800b780303..a66346eee5 100644
--- a/xfa/fxfa/parser/cxfa_signatureproperties.h
+++ b/xfa/fxfa/parser/cxfa_signatureproperties.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SignatureProperties : public CXFA_Node {
+class CXFA_SignatureProperties final : public CXFA_Node {
public:
CXFA_SignatureProperties(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SignatureProperties() override;
diff --git a/xfa/fxfa/parser/cxfa_signdata.h b/xfa/fxfa/parser/cxfa_signdata.h
index 3ad39f5fac..e28460dcb0 100644
--- a/xfa/fxfa/parser/cxfa_signdata.h
+++ b/xfa/fxfa/parser/cxfa_signdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SignData : public CXFA_Node {
+class CXFA_SignData final : public CXFA_Node {
public:
CXFA_SignData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SignData() override;
diff --git a/xfa/fxfa/parser/cxfa_signing.h b/xfa/fxfa/parser/cxfa_signing.h
index 6df9a1871d..7c3740324c 100644
--- a/xfa/fxfa/parser/cxfa_signing.h
+++ b/xfa/fxfa/parser/cxfa_signing.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Signing : public CXFA_Node {
+class CXFA_Signing final : public CXFA_Node {
public:
CXFA_Signing(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Signing() override;
diff --git a/xfa/fxfa/parser/cxfa_silentprint.h b/xfa/fxfa/parser/cxfa_silentprint.h
index 6ef5fcf97b..378084d46e 100644
--- a/xfa/fxfa/parser/cxfa_silentprint.h
+++ b/xfa/fxfa/parser/cxfa_silentprint.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SilentPrint : public CXFA_Node {
+class CXFA_SilentPrint final : public CXFA_Node {
public:
CXFA_SilentPrint(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SilentPrint() override;
diff --git a/xfa/fxfa/parser/cxfa_soapaction.h b/xfa/fxfa/parser/cxfa_soapaction.h
index b803eae311..b7f7526d01 100644
--- a/xfa/fxfa/parser/cxfa_soapaction.h
+++ b/xfa/fxfa/parser/cxfa_soapaction.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SoapAction : public CXFA_Node {
+class CXFA_SoapAction final : public CXFA_Node {
public:
CXFA_SoapAction(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SoapAction() override;
diff --git a/xfa/fxfa/parser/cxfa_soapaddress.h b/xfa/fxfa/parser/cxfa_soapaddress.h
index b0feff4427..130ddf3bf6 100644
--- a/xfa/fxfa/parser/cxfa_soapaddress.h
+++ b/xfa/fxfa/parser/cxfa_soapaddress.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SoapAddress : public CXFA_Node {
+class CXFA_SoapAddress final : public CXFA_Node {
public:
CXFA_SoapAddress(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SoapAddress() override;
diff --git a/xfa/fxfa/parser/cxfa_solid.h b/xfa/fxfa/parser/cxfa_solid.h
index ec1e2d08c6..28666efda5 100644
--- a/xfa/fxfa/parser/cxfa_solid.h
+++ b/xfa/fxfa/parser/cxfa_solid.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Solid : public CXFA_Node {
+class CXFA_Solid final : public CXFA_Node {
public:
CXFA_Solid(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Solid() override;
diff --git a/xfa/fxfa/parser/cxfa_source.h b/xfa/fxfa/parser/cxfa_source.h
index af74be89d9..96af0838b0 100644
--- a/xfa/fxfa/parser/cxfa_source.h
+++ b/xfa/fxfa/parser/cxfa_source.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Source : public CXFA_Node {
+class CXFA_Source final : public CXFA_Node {
public:
CXFA_Source(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Source() override;
diff --git a/xfa/fxfa/parser/cxfa_sourceset.h b/xfa/fxfa/parser/cxfa_sourceset.h
index b07e12bd76..c31b94c1ca 100644
--- a/xfa/fxfa/parser/cxfa_sourceset.h
+++ b/xfa/fxfa/parser/cxfa_sourceset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SourceSet : public CXFA_Node {
+class CXFA_SourceSet final : public CXFA_Node {
public:
CXFA_SourceSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SourceSet() override;
diff --git a/xfa/fxfa/parser/cxfa_speak.h b/xfa/fxfa/parser/cxfa_speak.h
index 80ef54b974..54979272c7 100644
--- a/xfa/fxfa/parser/cxfa_speak.h
+++ b/xfa/fxfa/parser/cxfa_speak.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Speak : public CXFA_Node {
+class CXFA_Speak final : public CXFA_Node {
public:
CXFA_Speak(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Speak() override;
diff --git a/xfa/fxfa/parser/cxfa_staple.h b/xfa/fxfa/parser/cxfa_staple.h
index 9651fa4aa8..44ef654206 100644
--- a/xfa/fxfa/parser/cxfa_staple.h
+++ b/xfa/fxfa/parser/cxfa_staple.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Staple : public CXFA_Node {
+class CXFA_Staple final : public CXFA_Node {
public:
CXFA_Staple(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Staple() override;
diff --git a/xfa/fxfa/parser/cxfa_startnode.h b/xfa/fxfa/parser/cxfa_startnode.h
index 51815e547f..b8bab06f43 100644
--- a/xfa/fxfa/parser/cxfa_startnode.h
+++ b/xfa/fxfa/parser/cxfa_startnode.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_StartNode : public CXFA_Node {
+class CXFA_StartNode final : public CXFA_Node {
public:
CXFA_StartNode(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_StartNode() override;
diff --git a/xfa/fxfa/parser/cxfa_startpage.h b/xfa/fxfa/parser/cxfa_startpage.h
index 6262aa7c95..ae0ecee056 100644
--- a/xfa/fxfa/parser/cxfa_startpage.h
+++ b/xfa/fxfa/parser/cxfa_startpage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_StartPage : public CXFA_Node {
+class CXFA_StartPage final : public CXFA_Node {
public:
CXFA_StartPage(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_StartPage() override;
diff --git a/xfa/fxfa/parser/cxfa_stipple.h b/xfa/fxfa/parser/cxfa_stipple.h
index 839534b9c9..af5581f3d2 100644
--- a/xfa/fxfa/parser/cxfa_stipple.h
+++ b/xfa/fxfa/parser/cxfa_stipple.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Stipple : public CXFA_Node {
+class CXFA_Stipple final : public CXFA_Node {
public:
static int32_t GetDefaultRate() { return 50; }
diff --git a/xfa/fxfa/parser/cxfa_subform.h b/xfa/fxfa/parser/cxfa_subform.h
index 00b2e17dbc..3d16d10e1b 100644
--- a/xfa/fxfa/parser/cxfa_subform.h
+++ b/xfa/fxfa/parser/cxfa_subform.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Subform : public CXFA_Node {
+class CXFA_Subform final : public CXFA_Node {
public:
CXFA_Subform(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Subform() override;
diff --git a/xfa/fxfa/parser/cxfa_subformset.h b/xfa/fxfa/parser/cxfa_subformset.h
index 8e0f3ea345..12b9e9fba5 100644
--- a/xfa/fxfa/parser/cxfa_subformset.h
+++ b/xfa/fxfa/parser/cxfa_subformset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubformSet : public CXFA_Node {
+class CXFA_SubformSet final : public CXFA_Node {
public:
CXFA_SubformSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubformSet() override;
diff --git a/xfa/fxfa/parser/cxfa_subjectdn.h b/xfa/fxfa/parser/cxfa_subjectdn.h
index 0861d754c4..a4d94d7f68 100644
--- a/xfa/fxfa/parser/cxfa_subjectdn.h
+++ b/xfa/fxfa/parser/cxfa_subjectdn.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubjectDN : public CXFA_Node {
+class CXFA_SubjectDN final : public CXFA_Node {
public:
CXFA_SubjectDN(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubjectDN() override;
diff --git a/xfa/fxfa/parser/cxfa_subjectdns.h b/xfa/fxfa/parser/cxfa_subjectdns.h
index e9d739cc12..03d770bc75 100644
--- a/xfa/fxfa/parser/cxfa_subjectdns.h
+++ b/xfa/fxfa/parser/cxfa_subjectdns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubjectDNs : public CXFA_Node {
+class CXFA_SubjectDNs final : public CXFA_Node {
public:
CXFA_SubjectDNs(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubjectDNs() override;
diff --git a/xfa/fxfa/parser/cxfa_submit.h b/xfa/fxfa/parser/cxfa_submit.h
index 24d5f11796..8f7b4bff9e 100644
--- a/xfa/fxfa/parser/cxfa_submit.h
+++ b/xfa/fxfa/parser/cxfa_submit.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/widestring.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Submit : public CXFA_Node {
+class CXFA_Submit final : public CXFA_Node {
public:
CXFA_Submit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Submit() override;
diff --git a/xfa/fxfa/parser/cxfa_submitformat.h b/xfa/fxfa/parser/cxfa_submitformat.h
index adca1e9d2a..bd6df261dc 100644
--- a/xfa/fxfa/parser/cxfa_submitformat.h
+++ b/xfa/fxfa/parser/cxfa_submitformat.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubmitFormat : public CXFA_Node {
+class CXFA_SubmitFormat final : public CXFA_Node {
public:
CXFA_SubmitFormat(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubmitFormat() override;
diff --git a/xfa/fxfa/parser/cxfa_submiturl.h b/xfa/fxfa/parser/cxfa_submiturl.h
index 8d87db9076..f1914db61a 100644
--- a/xfa/fxfa/parser/cxfa_submiturl.h
+++ b/xfa/fxfa/parser/cxfa_submiturl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubmitUrl : public CXFA_Node {
+class CXFA_SubmitUrl final : public CXFA_Node {
public:
CXFA_SubmitUrl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubmitUrl() override;
diff --git a/xfa/fxfa/parser/cxfa_subsetbelow.h b/xfa/fxfa/parser/cxfa_subsetbelow.h
index db912fef34..230a563ef3 100644
--- a/xfa/fxfa/parser/cxfa_subsetbelow.h
+++ b/xfa/fxfa/parser/cxfa_subsetbelow.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubsetBelow : public CXFA_Node {
+class CXFA_SubsetBelow final : public CXFA_Node {
public:
CXFA_SubsetBelow(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubsetBelow() override;
diff --git a/xfa/fxfa/parser/cxfa_suppressbanner.h b/xfa/fxfa/parser/cxfa_suppressbanner.h
index 79013a2d05..40057d0143 100644
--- a/xfa/fxfa/parser/cxfa_suppressbanner.h
+++ b/xfa/fxfa/parser/cxfa_suppressbanner.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SuppressBanner : public CXFA_Node {
+class CXFA_SuppressBanner final : public CXFA_Node {
public:
CXFA_SuppressBanner(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SuppressBanner() override;
diff --git a/xfa/fxfa/parser/cxfa_tagged.h b/xfa/fxfa/parser/cxfa_tagged.h
index 50b1ba44a5..ff5442388a 100644
--- a/xfa/fxfa/parser/cxfa_tagged.h
+++ b/xfa/fxfa/parser/cxfa_tagged.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Tagged : public CXFA_Node {
+class CXFA_Tagged final : public CXFA_Node {
public:
CXFA_Tagged(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Tagged() override;
diff --git a/xfa/fxfa/parser/cxfa_template.h b/xfa/fxfa/parser/cxfa_template.h
index 34b035fdc4..fa9b9994b7 100644
--- a/xfa/fxfa/parser/cxfa_template.h
+++ b/xfa/fxfa/parser/cxfa_template.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Template : public CXFA_Node {
+class CXFA_Template final : public CXFA_Node {
public:
CXFA_Template(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Template() override;
diff --git a/xfa/fxfa/parser/cxfa_templatecache.h b/xfa/fxfa/parser/cxfa_templatecache.h
index 45953fe8f2..dd0136de3f 100644
--- a/xfa/fxfa/parser/cxfa_templatecache.h
+++ b/xfa/fxfa/parser/cxfa_templatecache.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TemplateCache : public CXFA_Node {
+class CXFA_TemplateCache final : public CXFA_Node {
public:
CXFA_TemplateCache(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TemplateCache() override;
diff --git a/xfa/fxfa/parser/cxfa_text.h b/xfa/fxfa/parser/cxfa_text.h
index a75aef2b01..811ce1af1b 100644
--- a/xfa/fxfa/parser/cxfa_text.h
+++ b/xfa/fxfa/parser/cxfa_text.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/fx_string.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Text : public CXFA_Node {
+class CXFA_Text final : public CXFA_Node {
public:
CXFA_Text(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Text() override;
diff --git a/xfa/fxfa/parser/cxfa_textedit.h b/xfa/fxfa/parser/cxfa_textedit.h
index 97c9764fc4..d4cafa4d8c 100644
--- a/xfa/fxfa/parser/cxfa_textedit.h
+++ b/xfa/fxfa/parser/cxfa_textedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TextEdit : public CXFA_Node {
+class CXFA_TextEdit final : public CXFA_Node {
public:
CXFA_TextEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TextEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_thisproxy.h b/xfa/fxfa/parser/cxfa_thisproxy.h
index f429a2ce8a..4ec6e4a252 100644
--- a/xfa/fxfa/parser/cxfa_thisproxy.h
+++ b/xfa/fxfa/parser/cxfa_thisproxy.h
@@ -12,7 +12,7 @@
class CXFA_Node;
-class CXFA_ThisProxy : public CXFA_Object {
+class CXFA_ThisProxy final : public CXFA_Object {
public:
CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
~CXFA_ThisProxy() override;
diff --git a/xfa/fxfa/parser/cxfa_threshold.h b/xfa/fxfa/parser/cxfa_threshold.h
index 4bde01a215..597b134c19 100644
--- a/xfa/fxfa/parser/cxfa_threshold.h
+++ b/xfa/fxfa/parser/cxfa_threshold.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Threshold : public CXFA_Node {
+class CXFA_Threshold final : public CXFA_Node {
public:
CXFA_Threshold(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Threshold() override;
diff --git a/xfa/fxfa/parser/cxfa_time.h b/xfa/fxfa/parser/cxfa_time.h
index efc6d02a4b..c189bc52b0 100644
--- a/xfa/fxfa/parser/cxfa_time.h
+++ b/xfa/fxfa/parser/cxfa_time.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Time : public CXFA_Node {
+class CXFA_Time final : public CXFA_Node {
public:
CXFA_Time(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Time() override;
diff --git a/xfa/fxfa/parser/cxfa_timepattern.h b/xfa/fxfa/parser/cxfa_timepattern.h
index f796047c62..7c150a9b2f 100644
--- a/xfa/fxfa/parser/cxfa_timepattern.h
+++ b/xfa/fxfa/parser/cxfa_timepattern.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TimePattern : public CXFA_Node {
+class CXFA_TimePattern final : public CXFA_Node {
public:
CXFA_TimePattern(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TimePattern() override;
diff --git a/xfa/fxfa/parser/cxfa_timepatterns.h b/xfa/fxfa/parser/cxfa_timepatterns.h
index be9337d7c4..13c05c8039 100644
--- a/xfa/fxfa/parser/cxfa_timepatterns.h
+++ b/xfa/fxfa/parser/cxfa_timepatterns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TimePatterns : public CXFA_Node {
+class CXFA_TimePatterns final : public CXFA_Node {
public:
CXFA_TimePatterns(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TimePatterns() override;
diff --git a/xfa/fxfa/parser/cxfa_timestamp.h b/xfa/fxfa/parser/cxfa_timestamp.h
index 7db73e91c7..6a6c1ace35 100644
--- a/xfa/fxfa/parser/cxfa_timestamp.h
+++ b/xfa/fxfa/parser/cxfa_timestamp.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TimeStamp : public CXFA_Node {
+class CXFA_TimeStamp final : public CXFA_Node {
public:
CXFA_TimeStamp(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TimeStamp() override;
diff --git a/xfa/fxfa/parser/cxfa_to.h b/xfa/fxfa/parser/cxfa_to.h
index f418f5996e..8510bc28de 100644
--- a/xfa/fxfa/parser/cxfa_to.h
+++ b/xfa/fxfa/parser/cxfa_to.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_To : public CXFA_Node {
+class CXFA_To final : public CXFA_Node {
public:
CXFA_To(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_To() override;
diff --git a/xfa/fxfa/parser/cxfa_tooltip.h b/xfa/fxfa/parser/cxfa_tooltip.h
index 0b13282e99..f46ca623ec 100644
--- a/xfa/fxfa/parser/cxfa_tooltip.h
+++ b/xfa/fxfa/parser/cxfa_tooltip.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ToolTip : public CXFA_Node {
+class CXFA_ToolTip final : public CXFA_Node {
public:
CXFA_ToolTip(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ToolTip() override;
diff --git a/xfa/fxfa/parser/cxfa_trace.h b/xfa/fxfa/parser/cxfa_trace.h
index dec95da6af..1d76f73b97 100644
--- a/xfa/fxfa/parser/cxfa_trace.h
+++ b/xfa/fxfa/parser/cxfa_trace.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Trace : public CXFA_Node {
+class CXFA_Trace final : public CXFA_Node {
public:
CXFA_Trace(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Trace() override;
diff --git a/xfa/fxfa/parser/cxfa_transform.h b/xfa/fxfa/parser/cxfa_transform.h
index fde54e6efa..6409c6c327 100644
--- a/xfa/fxfa/parser/cxfa_transform.h
+++ b/xfa/fxfa/parser/cxfa_transform.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Transform : public CXFA_Node {
+class CXFA_Transform final : public CXFA_Node {
public:
CXFA_Transform(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Transform() override;
diff --git a/xfa/fxfa/parser/cxfa_traversal.h b/xfa/fxfa/parser/cxfa_traversal.h
index 47422b2fcb..154211bdec 100644
--- a/xfa/fxfa/parser/cxfa_traversal.h
+++ b/xfa/fxfa/parser/cxfa_traversal.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Traversal : public CXFA_Node {
+class CXFA_Traversal final : public CXFA_Node {
public:
CXFA_Traversal(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Traversal() override;
diff --git a/xfa/fxfa/parser/cxfa_traverse.h b/xfa/fxfa/parser/cxfa_traverse.h
index de33cb7798..dec5b89f9c 100644
--- a/xfa/fxfa/parser/cxfa_traverse.h
+++ b/xfa/fxfa/parser/cxfa_traverse.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Traverse : public CXFA_Node {
+class CXFA_Traverse final : public CXFA_Node {
public:
CXFA_Traverse(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Traverse() override;
diff --git a/xfa/fxfa/parser/cxfa_type.h b/xfa/fxfa/parser/cxfa_type.h
index 5e7d4672a1..ef696fd537 100644
--- a/xfa/fxfa/parser/cxfa_type.h
+++ b/xfa/fxfa/parser/cxfa_type.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Type : public CXFA_Node {
+class CXFA_Type final : public CXFA_Node {
public:
CXFA_Type(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Type() override;
diff --git a/xfa/fxfa/parser/cxfa_typeface.h b/xfa/fxfa/parser/cxfa_typeface.h
index cbc90c4d41..7b07cae291 100644
--- a/xfa/fxfa/parser/cxfa_typeface.h
+++ b/xfa/fxfa/parser/cxfa_typeface.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Typeface : public CXFA_Node {
+class CXFA_Typeface final : public CXFA_Node {
public:
CXFA_Typeface(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Typeface() override;
diff --git a/xfa/fxfa/parser/cxfa_typefaces.h b/xfa/fxfa/parser/cxfa_typefaces.h
index fa4b43fb6e..b65c57dde3 100644
--- a/xfa/fxfa/parser/cxfa_typefaces.h
+++ b/xfa/fxfa/parser/cxfa_typefaces.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Typefaces : public CXFA_Node {
+class CXFA_Typefaces final : public CXFA_Node {
public:
CXFA_Typefaces(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Typefaces() override;
diff --git a/xfa/fxfa/parser/cxfa_ui.h b/xfa/fxfa/parser/cxfa_ui.h
index a4c46f493c..d479e95593 100644
--- a/xfa/fxfa/parser/cxfa_ui.h
+++ b/xfa/fxfa/parser/cxfa_ui.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Ui : public CXFA_Node {
+class CXFA_Ui final : public CXFA_Node {
public:
CXFA_Ui(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Ui() override;
diff --git a/xfa/fxfa/parser/cxfa_update.h b/xfa/fxfa/parser/cxfa_update.h
index 9e652eae56..3e6bb6cae5 100644
--- a/xfa/fxfa/parser/cxfa_update.h
+++ b/xfa/fxfa/parser/cxfa_update.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Update : public CXFA_Node {
+class CXFA_Update final : public CXFA_Node {
public:
CXFA_Update(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Update() override;
diff --git a/xfa/fxfa/parser/cxfa_uri.h b/xfa/fxfa/parser/cxfa_uri.h
index bb315964b6..96252fcc36 100644
--- a/xfa/fxfa/parser/cxfa_uri.h
+++ b/xfa/fxfa/parser/cxfa_uri.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Uri : public CXFA_Node {
+class CXFA_Uri final : public CXFA_Node {
public:
CXFA_Uri(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Uri() override;
diff --git a/xfa/fxfa/parser/cxfa_user.h b/xfa/fxfa/parser/cxfa_user.h
index 3aad173f54..eca1a373da 100644
--- a/xfa/fxfa/parser/cxfa_user.h
+++ b/xfa/fxfa/parser/cxfa_user.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_User : public CXFA_Node {
+class CXFA_User final : public CXFA_Node {
public:
CXFA_User(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_User() override;
diff --git a/xfa/fxfa/parser/cxfa_validate.h b/xfa/fxfa/parser/cxfa_validate.h
index a6013080f1..140886f58c 100644
--- a/xfa/fxfa/parser/cxfa_validate.h
+++ b/xfa/fxfa/parser/cxfa_validate.h
@@ -11,7 +11,7 @@
class CXFA_Script;
-class CXFA_Validate : public CXFA_Node {
+class CXFA_Validate final : public CXFA_Node {
public:
CXFA_Validate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Validate() override;
diff --git a/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h b/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h
index d7dac98d98..05041687f0 100644
--- a/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h
+++ b/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ValidateApprovalSignatures : public CXFA_Node {
+class CXFA_ValidateApprovalSignatures final : public CXFA_Node {
public:
CXFA_ValidateApprovalSignatures(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ValidateApprovalSignatures() override;
diff --git a/xfa/fxfa/parser/cxfa_validationmessaging.h b/xfa/fxfa/parser/cxfa_validationmessaging.h
index 081b24c951..1131788ce0 100644
--- a/xfa/fxfa/parser/cxfa_validationmessaging.h
+++ b/xfa/fxfa/parser/cxfa_validationmessaging.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ValidationMessaging : public CXFA_Node {
+class CXFA_ValidationMessaging final : public CXFA_Node {
public:
CXFA_ValidationMessaging(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ValidationMessaging() override;
diff --git a/xfa/fxfa/parser/cxfa_value.h b/xfa/fxfa/parser/cxfa_value.h
index 47aeefede2..ccd4c2c7b4 100644
--- a/xfa/fxfa/parser/cxfa_value.h
+++ b/xfa/fxfa/parser/cxfa_value.h
@@ -17,7 +17,7 @@ class CXFA_Image;
class CXFA_Line;
class CXFA_Rectangle;
-class CXFA_Value : public CXFA_Node {
+class CXFA_Value final : public CXFA_Node {
public:
CXFA_Value(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Value() override;
diff --git a/xfa/fxfa/parser/cxfa_variables.h b/xfa/fxfa/parser/cxfa_variables.h
index 4c4cb4ec5d..b9f6d7201c 100644
--- a/xfa/fxfa/parser/cxfa_variables.h
+++ b/xfa/fxfa/parser/cxfa_variables.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Variables : public CXFA_Node {
+class CXFA_Variables final : public CXFA_Node {
public:
CXFA_Variables(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Variables() override;
diff --git a/xfa/fxfa/parser/cxfa_version.h b/xfa/fxfa/parser/cxfa_version.h
index 34462fbd61..4b4f425f80 100644
--- a/xfa/fxfa/parser/cxfa_version.h
+++ b/xfa/fxfa/parser/cxfa_version.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Version : public CXFA_Node {
+class CXFA_Version final : public CXFA_Node {
public:
CXFA_Version(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Version() override;
diff --git a/xfa/fxfa/parser/cxfa_versioncontrol.h b/xfa/fxfa/parser/cxfa_versioncontrol.h
index 4688f551f1..733b817d5c 100644
--- a/xfa/fxfa/parser/cxfa_versioncontrol.h
+++ b/xfa/fxfa/parser/cxfa_versioncontrol.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_VersionControl : public CXFA_Node {
+class CXFA_VersionControl final : public CXFA_Node {
public:
CXFA_VersionControl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_VersionControl() override;
diff --git a/xfa/fxfa/parser/cxfa_viewerpreferences.h b/xfa/fxfa/parser/cxfa_viewerpreferences.h
index bf831eecb9..229061fac4 100644
--- a/xfa/fxfa/parser/cxfa_viewerpreferences.h
+++ b/xfa/fxfa/parser/cxfa_viewerpreferences.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ViewerPreferences : public CXFA_Node {
+class CXFA_ViewerPreferences final : public CXFA_Node {
public:
CXFA_ViewerPreferences(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ViewerPreferences() override;
diff --git a/xfa/fxfa/parser/cxfa_webclient.h b/xfa/fxfa/parser/cxfa_webclient.h
index b7786898f7..41da046b3d 100644
--- a/xfa/fxfa/parser/cxfa_webclient.h
+++ b/xfa/fxfa/parser/cxfa_webclient.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_WebClient : public CXFA_Node {
+class CXFA_WebClient final : public CXFA_Node {
public:
CXFA_WebClient(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_WebClient() override;
diff --git a/xfa/fxfa/parser/cxfa_whitespace.h b/xfa/fxfa/parser/cxfa_whitespace.h
index 62dde483ed..096a2da10a 100644
--- a/xfa/fxfa/parser/cxfa_whitespace.h
+++ b/xfa/fxfa/parser/cxfa_whitespace.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Whitespace : public CXFA_Node {
+class CXFA_Whitespace final : public CXFA_Node {
public:
CXFA_Whitespace(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Whitespace() override;
diff --git a/xfa/fxfa/parser/cxfa_window.h b/xfa/fxfa/parser/cxfa_window.h
index 852bc68b2c..fc2fcb7282 100644
--- a/xfa/fxfa/parser/cxfa_window.h
+++ b/xfa/fxfa/parser/cxfa_window.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Window : public CXFA_Node {
+class CXFA_Window final : public CXFA_Node {
public:
CXFA_Window(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Window() override;
diff --git a/xfa/fxfa/parser/cxfa_wsdladdress.h b/xfa/fxfa/parser/cxfa_wsdladdress.h
index 83c965cbec..e65bd6f11d 100644
--- a/xfa/fxfa/parser/cxfa_wsdladdress.h
+++ b/xfa/fxfa/parser/cxfa_wsdladdress.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_WsdlAddress : public CXFA_Node {
+class CXFA_WsdlAddress final : public CXFA_Node {
public:
CXFA_WsdlAddress(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_WsdlAddress() override;
diff --git a/xfa/fxfa/parser/cxfa_wsdlconnection.h b/xfa/fxfa/parser/cxfa_wsdlconnection.h
index 6c349cf1d7..b2238fd80b 100644
--- a/xfa/fxfa/parser/cxfa_wsdlconnection.h
+++ b/xfa/fxfa/parser/cxfa_wsdlconnection.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_WsdlConnection : public CXFA_Node {
+class CXFA_WsdlConnection final : public CXFA_Node {
public:
CXFA_WsdlConnection(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_WsdlConnection() override;
diff --git a/xfa/fxfa/parser/cxfa_xdc.h b/xfa/fxfa/parser/cxfa_xdc.h
index 0eb43d5501..81cbb57caf 100644
--- a/xfa/fxfa/parser/cxfa_xdc.h
+++ b/xfa/fxfa/parser/cxfa_xdc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xdc : public CXFA_Node {
+class CXFA_Xdc final : public CXFA_Node {
public:
CXFA_Xdc(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xdc() override;
diff --git a/xfa/fxfa/parser/cxfa_xdp.h b/xfa/fxfa/parser/cxfa_xdp.h
index 38b450e98a..16ad5d8971 100644
--- a/xfa/fxfa/parser/cxfa_xdp.h
+++ b/xfa/fxfa/parser/cxfa_xdp.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xdp : public CXFA_Node {
+class CXFA_Xdp final : public CXFA_Node {
public:
CXFA_Xdp(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xdp() override;
diff --git a/xfa/fxfa/parser/cxfa_xfa.h b/xfa/fxfa/parser/cxfa_xfa.h
index 137b60191c..d7d33df654 100644
--- a/xfa/fxfa/parser/cxfa_xfa.h
+++ b/xfa/fxfa/parser/cxfa_xfa.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xfa : public CXFA_Node {
+class CXFA_Xfa final : public CXFA_Node {
public:
CXFA_Xfa(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xfa() override;
diff --git a/xfa/fxfa/parser/cxfa_xmlconnection.h b/xfa/fxfa/parser/cxfa_xmlconnection.h
index f9158c6368..33cc038f4f 100644
--- a/xfa/fxfa/parser/cxfa_xmlconnection.h
+++ b/xfa/fxfa/parser/cxfa_xmlconnection.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_XmlConnection : public CXFA_Node {
+class CXFA_XmlConnection final : public CXFA_Node {
public:
CXFA_XmlConnection(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_XmlConnection() override;
diff --git a/xfa/fxfa/parser/cxfa_xmllocale.h b/xfa/fxfa/parser/cxfa_xmllocale.h
index de3de41a90..07d417ed28 100644
--- a/xfa/fxfa/parser/cxfa_xmllocale.h
+++ b/xfa/fxfa/parser/cxfa_xmllocale.h
@@ -16,7 +16,7 @@
class CFX_XMLDocument;
class CFX_XMLElement;
-class CXFA_XMLLocale : public LocaleIface {
+class CXFA_XMLLocale final : public LocaleIface {
public:
static std::unique_ptr<CXFA_XMLLocale> Create(pdfium::span<uint8_t> data);
diff --git a/xfa/fxfa/parser/cxfa_xsdconnection.h b/xfa/fxfa/parser/cxfa_xsdconnection.h
index 652d45e15d..8cdef80341 100644
--- a/xfa/fxfa/parser/cxfa_xsdconnection.h
+++ b/xfa/fxfa/parser/cxfa_xsdconnection.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_XsdConnection : public CXFA_Node {
+class CXFA_XsdConnection final : public CXFA_Node {
public:
CXFA_XsdConnection(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_XsdConnection() override;
diff --git a/xfa/fxfa/parser/cxfa_xsl.h b/xfa/fxfa/parser/cxfa_xsl.h
index d9211250ae..1be8d4b2a1 100644
--- a/xfa/fxfa/parser/cxfa_xsl.h
+++ b/xfa/fxfa/parser/cxfa_xsl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xsl : public CXFA_Node {
+class CXFA_Xsl final : public CXFA_Node {
public:
CXFA_Xsl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xsl() override;
diff --git a/xfa/fxfa/parser/cxfa_zpl.h b/xfa/fxfa/parser/cxfa_zpl.h
index ee8f9251b8..6433015437 100644
--- a/xfa/fxfa/parser/cxfa_zpl.h
+++ b/xfa/fxfa/parser/cxfa_zpl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Zpl : public CXFA_Node {
+class CXFA_Zpl final : public CXFA_Node {
public:
CXFA_Zpl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Zpl() override;