diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java index 9369fb9c2..908aa4ce8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java @@ -495,10 +495,14 @@ public abstract class Trait implements Cloneable, Serializable { writer.appendNoHilight("use "); NumberContext nc = new NumberContext(numberContextRef.getVal()); writer.appendNoHilight(NumberContext.usageToName(nc.getUsage())); - writer.appendNoHilight(", rounding "); - writer.appendNoHilight(NumberContext.roundingToName(nc.getRounding())); - writer.appendNoHilight(", precision "); - writer.appendNoHilight(nc.getPrecision()); + if (nc.getUsage() == NumberContext.USE_NUMBER || nc.getUsage() == NumberContext.USE_DECIMAL) { + writer.appendNoHilight(", rounding "); + writer.appendNoHilight(NumberContext.roundingToName(nc.getRounding())); + if (nc.getPrecision() != 34) { + writer.appendNoHilight(", precision "); + writer.appendNoHilight(nc.getPrecision()); + } + } writer.appendNoHilight(";"); writer.newLine(); } diff --git a/libsrc/ffdec_lib/testdata/decimal/bin/decimal.abc b/libsrc/ffdec_lib/testdata/decimal/bin/decimal.abc index 45715058a..9dda7846a 100644 Binary files a/libsrc/ffdec_lib/testdata/decimal/bin/decimal.abc and b/libsrc/ffdec_lib/testdata/decimal/bin/decimal.abc differ diff --git a/libsrc/ffdec_lib/testdata/decimal/bin/decimal.cpp b/libsrc/ffdec_lib/testdata/decimal/bin/decimal.cpp index 22797f031..976b382d9 100644 --- a/libsrc/ffdec_lib/testdata/decimal/bin/decimal.cpp +++ b/libsrc/ffdec_lib/testdata/decimal/bin/decimal.cpp @@ -1,14 +1,12 @@ -const int decimal_abc_length = 972; +const int decimal_abc_length = 895; const int decimal_abc_method_count = 0; const int decimal_abc_class_count = 6; const int decimal_abc_script_count = 2; -const unsigned char decimal_abc_data[972] = { +const unsigned char decimal_abc_data[895] = { 0x11, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, 0x05, 0x26, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, 0x03, 0x26, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x22, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x22, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x15, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x00, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x03, 0x69, 0x6e, 0x74, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x5f, 0x5f, 0x41, 0x53, 0x33, 0x5f, 0x5f, 0x2e, 0x76, 0x65, 0x63, 0x3a, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x0b, 0x5f, 0x5f, 0x41, 0x53, 0x33, 0x5f, 0x5f, 0x2e, @@ -19,48 +17,45 @@ const unsigned char decimal_abc_data[972] = { 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x0d, 0x6d, 0x79, 0x70, 0x6b, 0x67, 0x3a, 0x4d, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x04, 0x76, 0x6f, 0x69, 0x64, 0x08, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x64, 0x65, 0x63, 0x08, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x04, 0x74, 0x65, 0x73, -0x74, 0x05, 0x74, 0x65, 0x73, 0x74, 0x64, 0x05, 0x6d, 0x79, 0x70, 0x6b, 0x67, 0x07, 0x4d, 0x79, -0x43, 0x6c, 0x61, 0x73, 0x73, 0x11, 0x05, 0x01, 0x16, 0x02, 0x18, 0x01, 0x05, 0x03, 0x18, 0x03, -0x05, 0x04, 0x18, 0x04, 0x05, 0x05, 0x18, 0x05, 0x05, 0x06, 0x16, 0x07, 0x18, 0x06, 0x08, 0x0d, -0x05, 0x0e, 0x16, 0x14, 0x18, 0x0e, 0x03, 0x01, 0x02, 0x01, 0x0b, 0x18, 0x07, 0x02, 0x01, 0x07, -0x02, 0x03, 0x07, 0x02, 0x04, 0x07, 0x02, 0x05, 0x07, 0x0b, 0x08, 0x09, 0x01, 0x01, 0x09, 0x03, -0x01, 0x09, 0x04, 0x01, 0x09, 0x05, 0x01, 0x09, 0x08, 0x02, 0x09, 0x09, 0x01, 0x07, 0x02, 0x09, -0x09, 0x0a, 0x01, 0x07, 0x02, 0x0a, 0x09, 0x0b, 0x01, 0x07, 0x02, 0x0b, 0x07, 0x02, 0x0c, 0x07, -0x02, 0x0f, 0x07, 0x0e, 0x10, 0x07, 0x0e, 0x11, 0x07, 0x02, 0x12, 0x07, 0x0e, 0x13, 0x07, 0x0f, -0x15, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, -0x02, 0x00, 0x01, 0x12, 0x04, 0x02, 0x00, 0x01, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, -0x00, 0x00, 0x02, 0x00, 0x00, 0x06, 0x01, 0x00, 0x09, 0x03, 0x00, 0x01, 0x00, 0x02, 0x01, 0x09, -0x05, 0x00, 0x03, 0x00, 0x03, 0x01, 0x09, 0x07, 0x00, 0x05, 0x00, 0x04, 0x01, 0x09, 0x09, 0x00, -0x07, 0x00, 0x05, 0x01, 0x09, 0x0c, 0x00, 0x09, 0x00, 0x17, 0x01, 0x09, 0x10, 0x00, 0x0e, 0x04, -0x13, 0x00, 0x01, 0x04, 0x00, 0x14, 0x00, 0x02, 0x03, 0x00, 0x15, 0x01, 0x02, 0x0c, 0x16, 0x01, -0x03, 0x0d, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x06, 0x00, 0x08, 0x00, 0x0b, 0x00, 0x02, 0x0f, -0x01, 0x17, 0x04, 0x01, 0x05, 0x0a, 0x09, 0x11, 0x06, 0x00, 0x00, 0x0d, 0x08, 0x01, 0x04, 0x00, -0x00, 0x02, 0x04, 0x00, 0x01, 0x03, 0x04, 0x00, 0x02, 0x04, 0x04, 0x00, 0x03, 0x05, 0x04, 0x00, -0x04, 0x0c, 0x06, 0x00, 0x02, 0x01, 0x06, 0x0e, 0x06, 0x00, 0x02, 0x02, 0x06, 0x10, 0x06, 0x00, -0x00, 0x00, 0x10, 0x00, 0x01, 0x01, 0x02, 0x03, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x01, 0x01, -0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x02, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, -0x30, 0x47, 0x00, 0x00, 0x03, 0x01, 0x01, 0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, -0x00, 0x00, 0x04, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x05, 0x01, 0x01, -0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, 0x00, 0x00, 0x06, 0x01, 0x01, 0x03, 0x04, -0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x07, 0x01, 0x01, 0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, -0x00, 0x47, 0x00, 0x00, 0x08, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x09, -0x01, 0x01, 0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, 0x00, 0x00, 0x0a, 0x03, 0x01, -0x01, 0x03, 0x61, 0xd0, 0x30, 0x5d, 0x06, 0x20, 0x58, 0x00, 0x68, 0x01, 0x5d, 0x07, 0x5d, 0x01, -0x66, 0x01, 0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x01, 0x1d, 0x68, 0x02, 0x5d, 0x08, 0x5d, 0x01, -0x66, 0x01, 0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x02, 0x1d, 0x68, 0x03, 0x5d, 0x09, 0x5d, 0x01, -0x66, 0x01, 0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x03, 0x1d, 0x68, 0x04, 0x5d, 0x0a, 0x5d, 0x01, -0x66, 0x01, 0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x04, 0x1d, 0x68, 0x05, 0x5d, 0x0b, 0x24, 0x00, -0x24, 0x00, 0xa3, 0x68, 0x0c, 0x5d, 0x0d, 0x24, 0x01, 0x24, 0x00, 0xa3, 0x68, 0x0e, 0x5d, 0x0f, -0x21, 0x68, 0x10, 0x47, 0x00, 0x00, 0x0b, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, -0x00, 0x0c, 0x02, 0x05, 0x04, 0x05, 0x4f, 0xd0, 0x30, 0x21, 0x82, 0x63, 0x04, 0x33, 0x01, 0x80, -0x04, 0xd6, 0x33, 0x02, 0x73, 0xd7, 0xd2, 0xd3, 0xb5, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, -0xb6, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, 0xb8, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, -0xb9, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, 0xb7, 0x81, 0x05, 0x82, 0x63, 0x04, 0x62, 0x04, -0x9c, 0x81, 0x05, 0x82, 0x63, 0x04, 0x62, 0x04, 0x9e, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0x8f, -0x81, 0x05, 0x82, 0x63, 0x04, 0x47, 0x00, 0x00, 0x0d, 0x02, 0x05, 0x04, 0x05, 0x13, 0xd0, 0x30, -0x33, 0x03, 0x82, 0xd6, 0x33, 0x04, 0x82, 0xd7, 0xd2, 0xd3, 0xb5, 0x81, 0x05, 0x82, 0x63, 0x04, -0x47, 0x00, 0x00, 0x0e, 0x01, 0x01, 0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, 0x00, -0x00, 0x0f, 0x02, 0x01, 0x01, 0x03, 0x13, 0xd0, 0x30, 0x65, 0x00, 0x5d, 0x01, 0x66, 0x01, 0x30, -0x5d, 0x01, 0x66, 0x01, 0x58, 0x05, 0x1d, 0x68, 0x17, 0x47, 0x00, 0x00 }; +0x74, 0x05, 0x6d, 0x79, 0x70, 0x6b, 0x67, 0x07, 0x4d, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x11, +0x05, 0x01, 0x16, 0x02, 0x18, 0x01, 0x05, 0x03, 0x18, 0x03, 0x05, 0x04, 0x18, 0x04, 0x05, 0x05, +0x18, 0x05, 0x05, 0x06, 0x16, 0x07, 0x18, 0x06, 0x08, 0x0d, 0x05, 0x0e, 0x16, 0x13, 0x18, 0x0e, +0x03, 0x01, 0x02, 0x01, 0x0b, 0x17, 0x07, 0x02, 0x01, 0x07, 0x02, 0x03, 0x07, 0x02, 0x04, 0x07, +0x02, 0x05, 0x07, 0x0b, 0x08, 0x09, 0x01, 0x01, 0x09, 0x03, 0x01, 0x09, 0x04, 0x01, 0x09, 0x05, +0x01, 0x09, 0x08, 0x02, 0x09, 0x09, 0x01, 0x07, 0x02, 0x09, 0x09, 0x0a, 0x01, 0x07, 0x02, 0x0a, +0x09, 0x0b, 0x01, 0x07, 0x02, 0x0b, 0x07, 0x02, 0x0c, 0x07, 0x02, 0x0f, 0x07, 0x0e, 0x10, 0x07, +0x0e, 0x11, 0x07, 0x02, 0x12, 0x07, 0x0f, 0x14, 0x0f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, +0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x02, 0x00, 0x00, 0x00, +0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x06, 0x01, 0x00, 0x09, 0x03, 0x00, 0x01, 0x00, 0x02, +0x01, 0x09, 0x05, 0x00, 0x03, 0x00, 0x03, 0x01, 0x09, 0x07, 0x00, 0x05, 0x00, 0x04, 0x01, 0x09, +0x09, 0x00, 0x07, 0x00, 0x05, 0x01, 0x09, 0x0c, 0x00, 0x09, 0x00, 0x16, 0x01, 0x09, 0x10, 0x00, +0x0d, 0x03, 0x13, 0x00, 0x01, 0x04, 0x00, 0x14, 0x00, 0x02, 0x03, 0x00, 0x15, 0x01, 0x02, 0x0c, +0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x06, 0x00, 0x08, 0x00, 0x0b, 0x00, 0x02, 0x0e, 0x01, 0x16, +0x04, 0x01, 0x05, 0x0a, 0x09, 0x11, 0x06, 0x00, 0x00, 0x0d, 0x08, 0x01, 0x04, 0x00, 0x00, 0x02, +0x04, 0x00, 0x01, 0x03, 0x04, 0x00, 0x02, 0x04, 0x04, 0x00, 0x03, 0x05, 0x04, 0x00, 0x04, 0x0c, +0x06, 0x00, 0x02, 0x01, 0x06, 0x0e, 0x06, 0x00, 0x02, 0x02, 0x06, 0x10, 0x06, 0x00, 0x00, 0x00, +0x0f, 0x00, 0x01, 0x01, 0x02, 0x03, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, +0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x02, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, +0x00, 0x00, 0x03, 0x01, 0x01, 0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, 0x00, 0x00, +0x04, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x05, 0x01, 0x01, 0x04, 0x05, +0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, 0x00, 0x00, 0x06, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, +0x30, 0x47, 0x00, 0x00, 0x07, 0x01, 0x01, 0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, +0x00, 0x00, 0x08, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x09, 0x01, 0x01, +0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, 0x00, 0x47, 0x00, 0x00, 0x0a, 0x03, 0x01, 0x01, 0x03, +0x61, 0xd0, 0x30, 0x5d, 0x06, 0x20, 0x58, 0x00, 0x68, 0x01, 0x5d, 0x07, 0x5d, 0x01, 0x66, 0x01, +0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x01, 0x1d, 0x68, 0x02, 0x5d, 0x08, 0x5d, 0x01, 0x66, 0x01, +0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x02, 0x1d, 0x68, 0x03, 0x5d, 0x09, 0x5d, 0x01, 0x66, 0x01, +0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x03, 0x1d, 0x68, 0x04, 0x5d, 0x0a, 0x5d, 0x01, 0x66, 0x01, +0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x04, 0x1d, 0x68, 0x05, 0x5d, 0x0b, 0x24, 0x00, 0x24, 0x00, +0xa3, 0x68, 0x0c, 0x5d, 0x0d, 0x24, 0x01, 0x24, 0x00, 0xa3, 0x68, 0x0e, 0x5d, 0x0f, 0x21, 0x68, +0x10, 0x47, 0x00, 0x00, 0x0b, 0x01, 0x01, 0x03, 0x04, 0x03, 0xd0, 0x30, 0x47, 0x00, 0x00, 0x0c, +0x02, 0x05, 0x04, 0x05, 0x4f, 0xd0, 0x30, 0x21, 0x82, 0x63, 0x04, 0x33, 0x01, 0x80, 0x04, 0xd6, +0x33, 0x02, 0x73, 0xd7, 0xd2, 0xd3, 0xb5, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, 0xb6, 0x81, +0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, 0xb8, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, 0xb9, 0x81, +0x05, 0x82, 0x63, 0x04, 0xd2, 0xd3, 0xb7, 0x81, 0x05, 0x82, 0x63, 0x04, 0x62, 0x04, 0x9c, 0x81, +0x05, 0x82, 0x63, 0x04, 0x62, 0x04, 0x9e, 0x81, 0x05, 0x82, 0x63, 0x04, 0xd2, 0x8f, 0x81, 0x05, +0x82, 0x63, 0x04, 0x47, 0x00, 0x00, 0x0d, 0x01, 0x01, 0x04, 0x05, 0x06, 0xd0, 0x30, 0xd0, 0x49, +0x00, 0x47, 0x00, 0x00, 0x0e, 0x02, 0x01, 0x01, 0x03, 0x13, 0xd0, 0x30, 0x65, 0x00, 0x5d, 0x01, +0x66, 0x01, 0x30, 0x5d, 0x01, 0x66, 0x01, 0x58, 0x05, 0x1d, 0x68, 0x16, 0x47, 0x00, 0x00 }; diff --git a/libsrc/ffdec_lib/testdata/decimal/src/mypkg/MyClass.as b/libsrc/ffdec_lib/testdata/decimal/src/mypkg/MyClass.as index ee019556a..57ebebca2 100644 --- a/libsrc/ffdec_lib/testdata/decimal/src/mypkg/MyClass.as +++ b/libsrc/ffdec_lib/testdata/decimal/src/mypkg/MyClass.as @@ -22,13 +22,7 @@ package mypkg ++c; --c; c = -a; - } - - private function testd(arg_d:decimal) { - var a:* = 1; - var b:* = 2; - var c = a + b; - } + } } }