diff --git a/build.xml b/build.xml index e222cc45b..2c2434226 100644 --- a/build.xml +++ b/build.xml @@ -80,7 +80,7 @@ - + diff --git a/libsrc/ffdec_lib/build.xml b/libsrc/ffdec_lib/build.xml index 48e3f6ee9..5ec56ada2 100644 --- a/libsrc/ffdec_lib/build.xml +++ b/libsrc/ffdec_lib/build.xml @@ -11,7 +11,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -84,7 +84,7 @@ - + @@ -99,11 +99,11 @@ - + - + diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoParser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoParser.java index 1845d9d0e..14fc955a3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoParser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoParser.java @@ -12,7 +12,8 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.methodinfo_parser; import com.jpexs.decompiler.flash.abc.ABC; @@ -176,7 +177,7 @@ public class MethodInfoParser { if (symb.type == ParsedSymbol.TYPE_COLON) { ParsedSymbol symbType = lexer.yylex(); if (symbType.type == ParsedSymbol.TYPE_STAR) { - paramTypes.add(new Long(0)); + paramTypes.add((Long)0L); } else if (symbType.type == ParsedSymbol.TYPE_MULTINAME) { paramTypes.add((Long) symbType.value); } else { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java index deb356b04..a8ce45990 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java @@ -101,7 +101,7 @@ public class ActionWaitForFrame extends Action implements ActionStore { @Override public void translate(boolean insideDoInitAction, GraphSourceItem lineStartAction, TranslateStack stack, List output, HashMap regNames, HashMap variables, HashMap functions, int staticOperation, String path) throws InterruptedException { - GraphTargetItem frameTi = new DirectValueActionItem(null, null, 0, new Long(frame), new ArrayList<>()); + GraphTargetItem frameTi = new DirectValueActionItem(null, null, 0, (Long)((long)frame), new ArrayList<>()); List body = ActionGraph.translateViaGraph(insideDoInitAction, regNames, variables, functions, skipped, SWF.DEFAULT_VERSION, staticOperation, path); output.add(new IfFrameLoadedActionItem(frameTi, body, this, lineStartAction)); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index 5f656617e..f0b413462 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -69,92 +69,92 @@ public final class Configuration { @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem openMultipleFiles = null; + public static ConfigurationItem openMultipleFiles = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem decompile = null; + public static ConfigurationItem decompile = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("decompilation") - public static final ConfigurationItem parallelSpeedUp = null; + public static ConfigurationItem parallelSpeedUp = null; @ConfigurationDefaultInt(10) @ConfigurationCategory("decompilation") - private static final ConfigurationItem parallelSpeedUpThreadCount = null; + private static ConfigurationItem parallelSpeedUpThreadCount = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem autoDeobfuscate = null; + public static ConfigurationItem autoDeobfuscate = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("") - public static final ConfigurationItem cacheOnDisk = null; + public static ConfigurationItem cacheOnDisk = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("") - public static final ConfigurationItem cacheImages = null; + public static ConfigurationItem cacheImages = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("display") - public static final ConfigurationItem internalFlashViewer = null; + public static ConfigurationItem internalFlashViewer = null; @ConfigurationDefaultInt(1000) @ConfigurationCategory("display") - public static final ConfigurationItem setMovieDelay = null; + public static ConfigurationItem setMovieDelay = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("display") - public static final ConfigurationItem dumpView = null; + public static ConfigurationItem dumpView = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("display") - public static final ConfigurationItem useHexColorFormat = null; + public static ConfigurationItem useHexColorFormat = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("display") - public static final ConfigurationItem showOldTextDuringTextEditing = null; + public static ConfigurationItem showOldTextDuringTextEditing = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("ui") - public static final ConfigurationItem gotoMainClassOnStartup = null; + public static ConfigurationItem gotoMainClassOnStartup = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem autoRenameIdentifiers = null; + public static ConfigurationItem autoRenameIdentifiers = null; @ConfigurationDefaultBoolean(false) - public static final ConfigurationItem offeredAssociation = null; + public static ConfigurationItem offeredAssociation = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem decimalAddress = null; + public static ConfigurationItem decimalAddress = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem showAllAddresses = null; + public static ConfigurationItem showAllAddresses = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("display") - public static final ConfigurationItem useFrameCache = null; + public static ConfigurationItem useFrameCache = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem useRibbonInterface = null; + public static ConfigurationItem useRibbonInterface = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("export") - public static final ConfigurationItem overwriteExistingFiles = null; + public static ConfigurationItem overwriteExistingFiles = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("export") - public static final ConfigurationItem openFolderAfterFlaExport = null; + public static ConfigurationItem openFolderAfterFlaExport = null; @ConfigurationCategory("export") - public static final ConfigurationItem overrideTextExportFileName = null; + public static ConfigurationItem overrideTextExportFileName = null; @ConfigurationDefaultBoolean(false) - public static final ConfigurationItem useDetailedLogging = null; + public static ConfigurationItem useDetailedLogging = null; /** * Debug mode = throwing an error when comparing original file and @@ -162,56 +162,56 @@ public final class Configuration { */ @ConfigurationDefaultBoolean(false) @ConfigurationInternal - public static final ConfigurationItem _debugMode = null; + public static ConfigurationItem _debugMode = null; @ConfigurationDefaultBoolean(false) @ConfigurationInternal - public static final ConfigurationItem _showDebugMenu = null; + public static ConfigurationItem _showDebugMenu = null; /** * Turn off resolving constants in ActionScript 2 */ @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem resolveConstants = null; + public static ConfigurationItem resolveConstants = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") @ConfigurationInternal - public static final ConfigurationItem showFileOffsetInPcodeHex = null; + public static ConfigurationItem showFileOffsetInPcodeHex = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") @ConfigurationInternal - public static final ConfigurationItem showOriginalBytesInPcodeHex = null; + public static ConfigurationItem showOriginalBytesInPcodeHex = null; /** * Limit of code subs (for obfuscated code) */ @ConfigurationDefaultInt(500) @ConfigurationCategory("limit") - public static final ConfigurationItem sublimiter = null; + public static ConfigurationItem sublimiter = null; /** * Total export timeout in seconds */ @ConfigurationDefaultInt(30 * 60) @ConfigurationCategory("limit") - public static final ConfigurationItem exportTimeout = null; + public static ConfigurationItem exportTimeout = null; /** * Decompilation timeout in seconds for a single file */ @ConfigurationDefaultInt(5 * 60) @ConfigurationCategory("limit") - public static final ConfigurationItem decompilationTimeoutFile = null; + public static ConfigurationItem decompilationTimeoutFile = null; /** * AS1/2 deobfuscator execution limit (max number of instructions processed) */ @ConfigurationDefaultInt(10000) @ConfigurationCategory("limit") - public static final ConfigurationItem as12DeobfuscatorExecutionLimit = null; + public static ConfigurationItem as12DeobfuscatorExecutionLimit = null; /** * Using parameter names in decompiling may cause problems because official @@ -219,430 +219,430 @@ public final class Configuration { */ @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem paramNamesEnable = null; + public static ConfigurationItem paramNamesEnable = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem displayFileName = null; + public static ConfigurationItem displayFileName = null; @ConfigurationDefaultBoolean(false) @ConfigurationInternal - public static final ConfigurationItem _debugCopy = null; + public static ConfigurationItem _debugCopy = null; @ConfigurationDefaultBoolean(false) - public static final ConfigurationItem dumpTags = null; + public static ConfigurationItem dumpTags = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("export") - public static final ConfigurationItem setFFDecVersionInExportedFont = null; + public static ConfigurationItem setFFDecVersionInExportedFont = null; @ConfigurationDefaultInt(60) @ConfigurationCategory("limit") - public static final ConfigurationItem decompilationTimeoutSingleMethod = null; + public static ConfigurationItem decompilationTimeoutSingleMethod = null; @ConfigurationDefaultInt(1) - public static final ConfigurationItem lastRenameType = null; + public static ConfigurationItem lastRenameType = null; @ConfigurationDefaultString(".") @ConfigurationDirectory - public static final ConfigurationItem lastSaveDir = null; + public static ConfigurationItem lastSaveDir = null; @ConfigurationDefaultString(".") @ConfigurationDirectory - public static final ConfigurationItem lastOpenDir = null; + public static ConfigurationItem lastOpenDir = null; @ConfigurationDefaultString(".") @ConfigurationDirectory - public static final ConfigurationItem lastExportDir = null; + public static ConfigurationItem lastExportDir = null; @ConfigurationDefaultString("en") @ConfigurationCategory("ui") - public static final ConfigurationItem locale = null; + public static ConfigurationItem locale = null; @ConfigurationDefaultString("_loc%d_") @ConfigurationCategory("script") - public static final ConfigurationItem registerNameFormat = null; + public static ConfigurationItem registerNameFormat = null; @ConfigurationDefaultInt(15) - public static final ConfigurationItem maxRecentFileCount = null; + public static ConfigurationItem maxRecentFileCount = null; - public static final ConfigurationItem recentFiles = null; + public static ConfigurationItem recentFiles = null; - public static final ConfigurationItem> fontPairingMap = null; + public static ConfigurationItem> fontPairingMap = null; - public static final ConfigurationItem> swfSpecificConfigs = null; + public static ConfigurationItem> swfSpecificConfigs = null; @ConfigurationDefaultCalendar(0) - public static final ConfigurationItem lastUpdatesCheckDate = null; + public static ConfigurationItem lastUpdatesCheckDate = null; @ConfigurationDefaultInt(1000) @ConfigurationName("gui.window.width") - public static final ConfigurationItem guiWindowWidth = null; + public static ConfigurationItem guiWindowWidth = null; @ConfigurationDefaultInt(700) @ConfigurationName("gui.window.height") - public static final ConfigurationItem guiWindowHeight = null; + public static ConfigurationItem guiWindowHeight = null; @ConfigurationDefaultBoolean(false) @ConfigurationName("gui.window.maximized.horizontal") - public static final ConfigurationItem guiWindowMaximizedHorizontal = null; + public static ConfigurationItem guiWindowMaximizedHorizontal = null; @ConfigurationDefaultBoolean(false) @ConfigurationName("gui.window.maximized.vertical") - public static final ConfigurationItem guiWindowMaximizedVertical = null; + public static ConfigurationItem guiWindowMaximizedVertical = null; @ConfigurationDefaultDouble(1) @ConfigurationCategory("display") @ConfigurationName("gui.fontSizeMultiplier") - public static final ConfigurationItem guiFontSizeMultiplier = null; + public static ConfigurationItem guiFontSizeMultiplier = null; // font used in AS1/2/3 source area, P-Code area, Define Text area and in Metadata area @ConfigurationDefaultString("Monospaced-Plain-12") @ConfigurationCategory("display") @ConfigurationName("gui.sourceFont") - public static final ConfigurationItem sourceFontString = null; + public static ConfigurationItem sourceFontString = null; @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.avm2.splitPane.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiAvm2SplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiAvm2SplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.actionSplitPane.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiActionSplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiActionSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.previewSplitPane.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiPreviewSplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiPreviewSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.3333333333) @ConfigurationName("gui.splitPane1.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiSplitPane1DividerLocationPercent = null; + public static ConfigurationItem guiSplitPane1DividerLocationPercent = null; @ConfigurationDefaultDouble(0.6) @ConfigurationName("gui.splitPane2.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiSplitPane2DividerLocationPercent = null; + public static ConfigurationItem guiSplitPane2DividerLocationPercent = null; @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.timeLineSplitPane.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiTimeLineSplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiTimeLineSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.6) @ConfigurationName("gui.dump.splitPane.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiDumpSplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiDumpSplitPaneDividerLocationPercent = null; @ConfigurationDefaultString("com.jpexs.decompiler.flash.gui.OceanicSkin") @ConfigurationName("gui.skin") @ConfigurationCategory("ui") - public static final ConfigurationItem guiSkin = null; + public static ConfigurationItem guiSkin = null; @ConfigurationDefaultInt(3) @ConfigurationCategory("export") - public static final ConfigurationItem saveAsExeScaleMode = null; + public static ConfigurationItem saveAsExeScaleMode = null; @ConfigurationCategory("export") - public static final ConfigurationItem exeExportMode = null; + public static ConfigurationItem exeExportMode = null; @ConfigurationDefaultInt(1024 * 1024/*1MiB*/) @ConfigurationCategory("limit") - public static final ConfigurationItem syntaxHighlightLimit = null; + public static ConfigurationItem syntaxHighlightLimit = null; - public static final ConfigurationItem guiFontPreviewSampleText = null; + public static ConfigurationItem guiFontPreviewSampleText = null; @ConfigurationName("gui.fontPreviewWindow.width") - public static final ConfigurationItem guiFontPreviewWidth = null; + public static ConfigurationItem guiFontPreviewWidth = null; @ConfigurationName("gui.fontPreviewWindow.height") - public static final ConfigurationItem guiFontPreviewHeight = null; + public static ConfigurationItem guiFontPreviewHeight = null; @ConfigurationName("gui.fontPreviewWindow.posX") - public static final ConfigurationItem guiFontPreviewPosX = null; + public static ConfigurationItem guiFontPreviewPosX = null; @ConfigurationName("gui.fontPreviewWindow.posY") - public static final ConfigurationItem guiFontPreviewPosY = null; + public static ConfigurationItem guiFontPreviewPosY = null; @ConfigurationDefaultInt(3) @ConfigurationName("formatting.indent.size") @ConfigurationCategory("format") - public static final ConfigurationItem indentSize = null; + public static ConfigurationItem indentSize = null; @ConfigurationDefaultBoolean(false) @ConfigurationName("formatting.indent.useTabs") @ConfigurationCategory("format") - public static final ConfigurationItem indentUseTabs = null; + public static ConfigurationItem indentUseTabs = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("format") - public static final ConfigurationItem beginBlockOnNewLine = null; + public static ConfigurationItem beginBlockOnNewLine = null; @ConfigurationDefaultInt(1000 * 60 * 60 * 24) @ConfigurationCategory("update") @ConfigurationName("check.updates.delay") - public static final ConfigurationItem checkForUpdatesDelay = null; + public static ConfigurationItem checkForUpdatesDelay = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("update") @ConfigurationName("check.updates.stable") - public static final ConfigurationItem checkForUpdatesStable = null; + public static ConfigurationItem checkForUpdatesStable = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("update") @ConfigurationName("check.updates.nightly") - public static final ConfigurationItem checkForUpdatesNightly = null; + public static ConfigurationItem checkForUpdatesNightly = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("update") @ConfigurationName("check.updates.enabled") - public static final ConfigurationItem checkForUpdatesAuto = null; + public static ConfigurationItem checkForUpdatesAuto = null; @ConfigurationCategory("update") - public static final ConfigurationItem updateProxyAddress = null; + public static ConfigurationItem updateProxyAddress = null; @ConfigurationDefaultString("") @ConfigurationName("export.formats") - public static final ConfigurationItem lastSelectedExportFormats = null; + public static ConfigurationItem lastSelectedExportFormats = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("export") - public static final ConfigurationItem textExportSingleFile = null; + public static ConfigurationItem textExportSingleFile = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("export") - public static final ConfigurationItem scriptExportSingleFile = null; + public static ConfigurationItem scriptExportSingleFile = null; @ConfigurationDefaultString("--- SEPARATOR ---") @ConfigurationCategory("export") - public static final ConfigurationItem textExportSingleFileSeparator = null; + public static ConfigurationItem textExportSingleFileSeparator = null; @ConfigurationDefaultString("--- RECORDSEPARATOR ---") @ConfigurationCategory("export") - public static final ConfigurationItem textExportSingleFileRecordSeparator = null; + public static ConfigurationItem textExportSingleFileRecordSeparator = null; @ConfigurationCategory("import") - public static final ConfigurationItem textImportResizeTextBoundsMode = null; + public static ConfigurationItem textImportResizeTextBoundsMode = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("import") - public static final ConfigurationItem resetLetterSpacingOnTextImport = null; + public static ConfigurationItem resetLetterSpacingOnTextImport = null; @ConfigurationDefaultBoolean(true) @ConfigurationName("warning.experimental.as12edit") @ConfigurationCategory("script") - public static final ConfigurationItem warningExperimentalAS12Edit = null; + public static ConfigurationItem warningExperimentalAS12Edit = null; @ConfigurationDefaultBoolean(true) @ConfigurationName("warning.experimental.as3edit") @ConfigurationCategory("script") - public static final ConfigurationItem warningExperimentalAS3Edit = null; + public static ConfigurationItem warningExperimentalAS3Edit = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem showCodeSavedMessage = null; + public static ConfigurationItem showCodeSavedMessage = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem showTraitSavedMessage = null; + public static ConfigurationItem showTraitSavedMessage = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("export") - public static final ConfigurationItem packJavaScripts = null; + public static ConfigurationItem packJavaScripts = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("export") - public static final ConfigurationItem textExportExportFontFace = null; + public static ConfigurationItem textExportExportFontFace = null; @ConfigurationDefaultInt(128) - public static final ConfigurationItem lzmaFastBytes = null; + public static ConfigurationItem lzmaFastBytes = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem showMethodBodyId = null; + public static ConfigurationItem showMethodBodyId = null; @ConfigurationDefaultDouble(1.0) @ConfigurationName("export.zoom") - public static final ConfigurationItem lastSelectedExportZoom = null; + public static ConfigurationItem lastSelectedExportZoom = null; - public static final ConfigurationItem pluginPath = null; + public static ConfigurationItem pluginPath = null; @ConfigurationDefaultInt(55556) @ConfigurationCategory("script") - public static final ConfigurationItem debuggerPort = null; + public static ConfigurationItem debuggerPort = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem randomDebuggerPackage = null; + public static ConfigurationItem randomDebuggerPackage = null; @ConfigurationDefaultBoolean(true) - public static final ConfigurationItem displayDebuggerInfo = null; + public static ConfigurationItem displayDebuggerInfo = null; @ConfigurationDefaultString("debugConsole") - public static final ConfigurationItem lastDebuggerReplaceFunction = null; + public static ConfigurationItem lastDebuggerReplaceFunction = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem getLocalNamesFromDebugInfo = null; + public static ConfigurationItem getLocalNamesFromDebugInfo = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("ui") - public static final ConfigurationItem tagTreeShowEmptyFolders = null; + public static ConfigurationItem tagTreeShowEmptyFolders = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("ui") - public static final ConfigurationItem autoLoadEmbeddedSwfs = null; + public static ConfigurationItem autoLoadEmbeddedSwfs = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem showCloseConfirmation = null; + public static ConfigurationItem showCloseConfirmation = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("ui") - public static final ConfigurationItem editorMode = null; + public static ConfigurationItem editorMode = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("ui") - public static final ConfigurationItem autoSaveTagModifications = null; + public static ConfigurationItem autoSaveTagModifications = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem saveSessionOnExit = null; + public static ConfigurationItem saveSessionOnExit = null; - public static final ConfigurationItem lastSessionFiles = null; + public static ConfigurationItem lastSessionFiles = null; - public static final ConfigurationItem lastSessionFileTitles = null; + public static ConfigurationItem lastSessionFileTitles = null; - public static final ConfigurationItem lastSessionSelection = null; + public static ConfigurationItem lastSessionSelection = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem loopMedia = null; + public static ConfigurationItem loopMedia = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem allowOnlyOneInstance = null; + public static ConfigurationItem allowOnlyOneInstance = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem ignoreCLikePackages = null; + public static ConfigurationItem ignoreCLikePackages = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem smartNumberFormatting = null; + public static ConfigurationItem smartNumberFormatting = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem enableScriptInitializerDisplay = null; + public static ConfigurationItem enableScriptInitializerDisplay = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("ui") - public static final ConfigurationItem autoOpenLoadedSWFs = null; + public static ConfigurationItem autoOpenLoadedSWFs = null; @ConfigurationDefaultString("") @ConfigurationCategory("paths") @ConfigurationFile - public static final ConfigurationItem playerLocation = null; + public static ConfigurationItem playerLocation = null; @ConfigurationDefaultString("") @ConfigurationCategory("paths") @ConfigurationFile - public static final ConfigurationItem playerDebugLocation = null; + public static ConfigurationItem playerDebugLocation = null; @ConfigurationDefaultString("") @ConfigurationCategory("paths") @ConfigurationFile(".*\\.swc$") - public static final ConfigurationItem playerLibLocation = null; + public static ConfigurationItem playerLibLocation = null; @ConfigurationDefaultString("") @ConfigurationCategory("paths") @ConfigurationDirectory - public static final ConfigurationItem flexSdkLocation = null; + public static ConfigurationItem flexSdkLocation = null; @ConfigurationDefaultDouble(0.7) @ConfigurationName("gui.avm2.splitPane.vars.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiAvm2VarsSplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiAvm2VarsSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.7) @ConfigurationName("gui.action.splitPane.vars.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiActionVarsSplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiActionVarsSplitPaneDividerLocationPercent = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem debugHalt = null; + public static ConfigurationItem debugHalt = null; @ConfigurationDefaultBoolean(true) @ConfigurationName("warning.svgImport") @ConfigurationCategory("import") - public static final ConfigurationItem warningSvgImport = null; + public static ConfigurationItem warningSvgImport = null; @ConfigurationDefaultBoolean(true) @ConfigurationName("warning.hexViewNotUpToDate") @ConfigurationCategory("import") - public static final ConfigurationItem warningHexViewNotUpToDate = null; + public static ConfigurationItem warningHexViewNotUpToDate = null; @ConfigurationDefaultBoolean(false) @ConfigurationName("shapeImport.useNonSmoothedFill") @ConfigurationCategory("import") - public static final ConfigurationItem shapeImportUseNonSmoothedFill = null; + public static ConfigurationItem shapeImportUseNonSmoothedFill = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("display") @ConfigurationName("internalFlashViewer.execute.as12") - public static final ConfigurationItem internalFlashViewerExecuteAs12 = null; + public static ConfigurationItem internalFlashViewerExecuteAs12 = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem displayDupInstructions = null; + public static ConfigurationItem displayDupInstructions = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem useRegExprLiteral = null; + public static ConfigurationItem useRegExprLiteral = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") - public static final ConfigurationItem handleSkinPartsAutomatically = null; + public static ConfigurationItem handleSkinPartsAutomatically = null; @ConfigurationDefaultBoolean(false) //@ConfigurationCategory("script") @ConfigurationInternal - public static final ConfigurationItem _ignoreAdditionalFlexClasses = null; + public static ConfigurationItem _ignoreAdditionalFlexClasses = null; @ConfigurationDefaultBoolean(false) //@ConfigurationCategory("script") @ConfigurationInternal - public static final ConfigurationItem _enableFlexExport = null; + public static ConfigurationItem _enableFlexExport = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem simplifyExpressions = null; + public static ConfigurationItem simplifyExpressions = null; @ConfigurationDefaultBoolean(false) @ConfigurationInternal - public static final ConfigurationItem hwAcceleratedGraphics = null; + public static ConfigurationItem hwAcceleratedGraphics = null; @ConfigurationDefaultDouble(0.85) @ConfigurationName("gui.avm2.splitPane.docs.dividerLocationPercent") @ConfigurationInternal - public static final ConfigurationItem guiAvm2DocsSplitPaneDividerLocationPercent = null; + public static ConfigurationItem guiAvm2DocsSplitPaneDividerLocationPercent = null; @ConfigurationDefaultBoolean(false) @ConfigurationCategory("script") - public static final ConfigurationItem useFlexAs3Compiler = null; + public static ConfigurationItem useFlexAs3Compiler = null; @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") - public static final ConfigurationItem showSetAdvanceValuesMessage = null; + public static ConfigurationItem showSetAdvanceValuesMessage = null; @ConfigurationDefaultString("") @ConfigurationCategory("paths") @ConfigurationFile - public static final ConfigurationItem graphVizDotLocation = null; + public static ConfigurationItem graphVizDotLocation = null; private enum OSId { WINDOWS, OSX, UNIX @@ -865,10 +865,12 @@ public final class Configuration { for (Entry entry : getConfigurationFields().entrySet()) { String name = entry.getKey(); Field field = entry.getValue(); + /* Unsupported in java 9+ // remove final modifier from field Field modifiersField = field.getClass().getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); + */ Object defaultValue = getDefaultValue(field); Object value = null; @@ -888,7 +890,7 @@ public final class Configuration { field.set(null, new ConfigurationItem(name, defaultValue)); } } - } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException ex) { + } catch (IllegalArgumentException | IllegalAccessException | SecurityException ex) { // Reflection exceptions. This should never happen throw new Error(ex.getMessage()); } catch (IOException ex) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/amf/amf3/Amf3Exporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/amf/amf3/Amf3Exporter.java index 832c31763..a3219324d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/amf/amf3/Amf3Exporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/amf/amf3/Amf3Exporter.java @@ -12,7 +12,8 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.amf.amf3; import com.jpexs.decompiler.flash.amf.amf3.WithSubValues; @@ -164,7 +165,7 @@ public class Amf3Exporter { if (serData == null) { ret.append(indent(level + 1)).append("\"serialized\": unknown").append(newLine); } else { - ret.append(indent(level + 1)).append("\"serialized\": \"").append(javax.xml.bind.DatatypeConverter.printHexBinary(serData)).append("\",").append(newLine); + ret.append(indent(level + 1)).append("\"serialized\": \"").append(Helper.byteArrayToHex(serData)).append("\",").append(newLine); if (!ot.getSerializedMembers().isEmpty()) { ret.append(indent(level + 1)).append("\"unserializedMembers\": {").append(newLine); { @@ -289,7 +290,7 @@ public class Amf3Exporter { return "{" + newLine + indent(level + 1) + "\"type\": \"ByteArray\"," + newLine + addId - + indent(level + 1) + "\"value\": \"" + javax.xml.bind.DatatypeConverter.printHexBinary(data) + "\"" + newLine + + indent(level + 1) + "\"value\": \"" + Helper.byteArrayToHex(data) + "\"" + newLine + indent(level) + "}"; } else if (object instanceof DateType) { DateType dt = (DateType) object; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java index c0626f8e1..efd10c7b7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java @@ -12,7 +12,8 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import java.awt.Canvas; @@ -43,10 +44,11 @@ import java.util.Map; */ public class FontHelper { + /*NOT AVAILABLE SINCE JAVA9+ private static Object getFontManager() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Class clFmFactory = Class.forName("sun.font.FontManagerFactory"); return clFmFactory.getDeclaredMethod("getInstance").invoke(null); - } + }*/ /** * Gets all available fonts in the system @@ -54,6 +56,8 @@ public class FontHelper { * @return Map> */ public static Map> getInstalledFonts() { + return new HashMap<>(); + /*NOT AVAILABLE SINCE JAVA9+ Map> ret = new HashMap<>(); Font[] fonts = null; @@ -103,7 +107,7 @@ public class FontHelper { ret.get(fam).put(f.getFontName(Locale.ENGLISH), f); } - return ret; + return ret;*/ } public static String fontToString(Font font) { @@ -166,7 +170,8 @@ public class FontHelper { * @return */ public static List getFontKerningPairs(Font font, int size) { - File fontFile = getFontFile(font); + //NOT AVAILABLE IN java9+ + /*File fontFile = getFontFile(font); if (fontFile != null && fontFile.getName().toLowerCase().endsWith(".ttf")) { KerningLoader k = new KerningLoader(); try { @@ -187,7 +192,8 @@ public class FontHelper { ret.addAll(getFontKerningPairsOneChar(availableChars, font, c1)); } - return ret; + return ret;*/ + return new ArrayList<>(); } public static float getFontAdvance(Font font, char ch) { @@ -289,9 +295,10 @@ public class FontHelper { } } - private static Object getFont2d(Font f) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { + //NOT AVAILABLE IN java9+ + /*private static Object getFont2d(Font f) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Object fm = getFontManager(); - return Class.forName("sun.font.FontManager").getDeclaredMethod("findFont2D", String.class, int.class, int.class).invoke(fm, f.getFontName(), f.getStyle(), 2/*LOGICAL_FALLBACK*/); + return Class.forName("sun.font.FontManager").getDeclaredMethod("findFont2D", String.class, int.class, int.class).invoke(fm, f.getFontName(), f.getStyle(), 2/*LOGICAL_FALLBACK*//*); } public static File getFontFile(Font f) { @@ -305,7 +312,7 @@ public class FontHelper { } catch (Throwable e) { return null; } - } + }*/ private static Map getFontGlyphToCharMap(Font f) { Map ret = new HashMap<>(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java index b289fc995..e68d2d41e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java @@ -12,7 +12,8 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.importers; import com.jpexs.decompiler.flash.SWF; @@ -174,25 +175,25 @@ public class SwfXmlImporter { } private static void setFieldValue(Field field, Object obj, Object value) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException { - Field modifiersField = Field.class.getDeclaredField("modifiers"); + /* Unsupported in java 9+ Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); //Remove final attribute temporary (For example Multiname.namespace_set_index int originalModifiers = field.getModifiers(); if ((originalModifiers & Modifier.FINAL) > 0) { modifiersField.setInt(field, originalModifiers & ~Modifier.FINAL); - } + } field.setAccessible(true); int newModifiers = field.getModifiers(); - +*/ field.set(obj, value); - //Put final back in + /* //Put final back in if (originalModifiers != newModifiers) { modifiersField.setInt(field, originalModifiers); - } + }*/ } private void processElement(Element element, Object obj, SWF swf, Tag tag) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/amf/amf3/Amf3Importer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/amf/amf3/Amf3Importer.java index 07c9f9077..c24402c94 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/amf/amf3/Amf3Importer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/amf/amf3/Amf3Importer.java @@ -12,7 +12,8 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.importers.amf.amf3; import com.jpexs.decompiler.flash.amf.amf3.ListMap; @@ -29,6 +30,7 @@ import com.jpexs.decompiler.flash.amf.amf3.types.VectorObjectType; import com.jpexs.decompiler.flash.amf.amf3.types.VectorUIntType; import com.jpexs.decompiler.flash.amf.amf3.types.XmlDocType; import com.jpexs.decompiler.flash.amf.amf3.types.XmlType; +import com.jpexs.helpers.Helper; import java.io.IOException; import java.io.StringReader; import java.text.ParseException; @@ -418,7 +420,7 @@ public class Amf3Importer { break; case "ByteArray": try { - resultObject = new ByteArrayType(javax.xml.bind.DatatypeConverter.parseHexBinary(typedObject.getString("value"))); + resultObject = new ByteArrayType(Helper.hexToByteArray(typedObject.getString("value"))); } catch (IllegalArgumentException iex) { throw new Amf3ParseException("Invalid hex byte sequence", lexer.yyline()); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java index 770d83a4c..660d392a1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java @@ -285,7 +285,9 @@ public abstract class FontTag extends DrawableTag implements AloneTag { } else if (installedFontsByFamily.containsKey("Arial")) { defaultFontName = "Arial"; } else { - defaultFontName = installedFontsByFamily.keySet().iterator().next(); + //NOT AVAILABLE SINCE JAVA9+ + //defaultFontName = installedFontsByFamily.keySet().iterator().next(); + defaultFontName = "Dialog"; } } @@ -301,8 +303,11 @@ public abstract class FontTag extends DrawableTag implements AloneTag { return "Arial"; } + //NOT AVAILABLE SINCE JAVA9+ //First font - return installedFontsByFamily.keySet().iterator().next(); + //return installedFontsByFamily.keySet().iterator().next(); + + return "Dialog"; } public static String isFontFamilyInstalled(String fontFamily) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java index 6ca70db83..7b68825c2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java @@ -153,6 +153,8 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import javax.xml.stream.XMLStreamException; import javax.xml.transform.OutputKeys; @@ -3840,7 +3842,8 @@ public class XFLConverter { XMLReader parser; try { SAXParserFactory factory = SAXParserFactory.newInstance(); - parser = XMLReaderFactory.createXMLReader(); + SAXParser sparser = factory.newSAXParser(); + parser = sparser.getXMLReader(); parser.setContentHandler(tparser); parser.setErrorHandler(tparser); html = "\n" @@ -3853,7 +3856,7 @@ public class XFLConverter { System.out.println(html); System.err.println(tparser.result); } - } catch (SAXException | IOException e) { + } catch (SAXException | IOException| ParserConfigurationException e) { logger.log(Level.SEVERE, "Error while converting HTML", e); } return tparser.result.toString(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java index 79da0ba6a..f914ceab3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java @@ -12,7 +12,8 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import com.jpexs.decompiler.flash.AppResources; @@ -50,6 +51,7 @@ import java.net.URLConnection; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Base64; import java.util.BitSet; import java.util.Collection; import java.util.HashMap; @@ -60,7 +62,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.xml.bind.DatatypeConverter; /** * Class with helper method @@ -884,11 +885,7 @@ public class Helper { } try { f.setAccessible(true); - - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(f, f.getModifiers() & ~Modifier.FINAL); - + Object v = f.get(obj); if (v != null) { try { @@ -911,7 +908,7 @@ public class Helper { f.set(obj, null); } - } catch (UnsupportedOperationException | SecurityException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException ex) { + } catch (UnsupportedOperationException | SecurityException | IllegalArgumentException | IllegalAccessException ex) { throw new Error(ex); } } @@ -1423,11 +1420,11 @@ public class Helper { } public static String byteArrayToBase64String(byte[] data) { - return DatatypeConverter.printBase64Binary(data); + return Base64.getEncoder().encodeToString(data); } public static byte[] base64StringToByteArray(String base64) { - return DatatypeConverter.parseBase64Binary(base64); + return Base64.getDecoder().decode(base64); } /** diff --git a/src/com/jpexs/decompiler/flash/gui/FontPanel.java b/src/com/jpexs/decompiler/flash/gui/FontPanel.java index d43296056..8541f7b2c 100644 --- a/src/com/jpexs/decompiler/flash/gui/FontPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/FontPanel.java @@ -101,9 +101,10 @@ public class FontPanel extends JPanel { public static ComboBoxModel getFaceModel(FontFamily family) { Set faceSet = new TreeSet<>(); + /*NOT AVAILABLE SINCE JAVA 9+ for (Font f : FontTag.getInstalledFontsByFamily().get(family.familyEn).values()) { faceSet.add(new FontFace(f)); - } + }*/ return new DefaultComboBoxModel<>(new Vector<>(faceSet)); }