mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-07-01 10:44:31 +00:00
Fixed AS3 p-code - IGNORE_REST method flag incorrectly shown as EXPLICIT
Changed AS3 p-code - EXPLICIT method flag renamed to NATIVE
This commit is contained in:
@@ -888,8 +888,8 @@ public class ASM3Parser {
|
||||
if (symb.type == ParsedSymbol.TYPE_KEYWORD_FLAG) {
|
||||
symb = lexer.lex();
|
||||
switch (symb.type) {
|
||||
case ParsedSymbol.TYPE_KEYWORD_EXPLICIT:
|
||||
info.setFlagExplicit();
|
||||
case ParsedSymbol.TYPE_KEYWORD_NATIVE:
|
||||
info.setFlagNative();
|
||||
break;
|
||||
case ParsedSymbol.TYPE_KEYWORD_HAS_OPTIONAL:
|
||||
info.setFlagHas_optional();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -116,7 +116,7 @@ public class ParsedSymbol {
|
||||
|
||||
public static final int TYPE_KEYWORD_FLAG = 45;
|
||||
|
||||
public static final int TYPE_KEYWORD_EXPLICIT = 46;
|
||||
public static final int TYPE_KEYWORD_NATIVE = 46;
|
||||
|
||||
public static final int TYPE_KEYWORD_HAS_OPTIONAL = 47;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -60,7 +60,7 @@ public class MethodInfo {
|
||||
public int ret_type;
|
||||
|
||||
public int name_index; //0=no name
|
||||
// 1=need_arguments, 2=need_activation, 4=need_rest 8=has_optional 16=ignore_rest, 32=explicit, 64=setsdxns, 128=has_paramnames
|
||||
// 1=need_arguments, 2=need_activation, 4=need_rest 8=has_optional 16=ignore_rest, 32=native, 64=setsdxns, 128=has_paramnames
|
||||
|
||||
public static int FLAG_NEED_ARGUMENTS = 1;
|
||||
|
||||
@@ -72,7 +72,7 @@ public class MethodInfo {
|
||||
|
||||
public static int FLAG_IGNORE_REST = 16;
|
||||
|
||||
public static int FLAG_EXPLICIT = 32;
|
||||
public static int FLAG_NATIVE = 32;
|
||||
|
||||
public static int FLAG_SETSDXNS = 64;
|
||||
|
||||
@@ -88,8 +88,8 @@ public class MethodInfo {
|
||||
flags |= FLAG_IGNORE_REST;
|
||||
}
|
||||
|
||||
public void setFlagExplicit() {
|
||||
flags |= FLAG_EXPLICIT;
|
||||
public void setFlagNative() {
|
||||
flags |= FLAG_NATIVE;
|
||||
}
|
||||
|
||||
public void setFlagNeed_Arguments() {
|
||||
@@ -206,8 +206,8 @@ public class MethodInfo {
|
||||
return (flags & FLAG_IGNORE_REST) == FLAG_IGNORE_REST;
|
||||
}
|
||||
|
||||
public boolean flagExplicit() {
|
||||
return (flags & FLAG_EXPLICIT) == FLAG_EXPLICIT;
|
||||
public boolean flagNative() {
|
||||
return (flags & FLAG_NATIVE) == FLAG_NATIVE;
|
||||
}
|
||||
|
||||
public boolean flagSetsdxns() {
|
||||
@@ -404,9 +404,9 @@ public class MethodInfo {
|
||||
writer.appendNoHilight("name ");
|
||||
writer.hilightSpecial(name_index == 0 ? "null" : "\"" + Helper.escapeActionScriptString(getName(constants)) + "\"", HighlightSpecialType.METHOD_NAME);
|
||||
writer.newLine();
|
||||
if (flagExplicit()) {
|
||||
if (flagNative()) {
|
||||
writer.appendNoHilight("flag ");
|
||||
writer.hilightSpecial("EXPLICIT", HighlightSpecialType.FLAG_EXPLICIT);
|
||||
writer.hilightSpecial("NATIVE", HighlightSpecialType.FLAG_NATIVE);
|
||||
writer.newLine();
|
||||
}
|
||||
if (flagHas_optional()) {
|
||||
@@ -421,7 +421,7 @@ public class MethodInfo {
|
||||
}
|
||||
if (flagIgnore_rest()) {
|
||||
writer.appendNoHilight("flag ");
|
||||
writer.hilightSpecial("EXPLICIT", HighlightSpecialType.FLAG_IGNORE_REST);
|
||||
writer.hilightSpecial("IGNORE_REST", HighlightSpecialType.FLAG_IGNORE_REST);
|
||||
writer.newLine();
|
||||
}
|
||||
if (flagNeed_activation()) {
|
||||
|
||||
@@ -94,7 +94,7 @@ public class TraitMethodGetterSetter extends Trait {
|
||||
|
||||
getModifiers(abc, isStatic, insideInterface, writer);
|
||||
|
||||
if (abc.method_info.get(method_info).flagExplicit()) {
|
||||
if (abc.method_info.get(method_info).flagNative()) {
|
||||
writer.appendNoHilight("native ");
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -26,7 +26,7 @@ public enum HighlightSpecialType {
|
||||
TYPE_NAME, CLASS_NAME, METHOD_NAME,
|
||||
TRAIT_TYPE, TRAIT_NAME, TRAIT_TYPE_NAME, TRAIT_VALUE,
|
||||
SLOT_ID, DISP_ID,
|
||||
FLAG_NEED_REST, FLAG_EXPLICIT, FLAG_HAS_OPTIONAL, FLAG_HAS_PARAM_NAMES,
|
||||
FLAG_NEED_REST, FLAG_NATIVE, FLAG_HAS_OPTIONAL, FLAG_HAS_PARAM_NAMES,
|
||||
FLAG_IGNORE_REST, FLAG_NEED_ACTIVATION, FLAG_NEED_ARGUMENTS, FLAG_SET_DXNS,
|
||||
TRY_TYPE, TRY_NAME,
|
||||
TEXT,
|
||||
|
||||
Reference in New Issue
Block a user