mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 05:30:45 +00:00
AS3 PCode serach
This commit is contained in:
@@ -121,7 +121,8 @@ public class ASMSourceEditorPane extends DebuggableEditorPane implements CaretLi
|
||||
if (trait != null && exportMode != ScriptExportMode.AS && exportMode != ScriptExportMode.AS_METHOD_STUBS) {
|
||||
trait.convertTraitHeader(abc, writer);
|
||||
}
|
||||
abc.bodies.get(bodyIndex).getCode().toASMSource(abc.constants, abc.method_info.get(abc.bodies.get(bodyIndex).method_info), abc.bodies.get(bodyIndex), exportMode, writer);
|
||||
MethodBody body = abc.bodies.get(bodyIndex);
|
||||
abc.bodies.get(bodyIndex).getCode().toASMSource(abc.constants, abc.method_info.get(body.method_info), body, exportMode, writer);
|
||||
if (trait != null) {
|
||||
writer.appendNoHilight("end ; trait").newLine();
|
||||
}
|
||||
|
||||
@@ -74,9 +74,9 @@ public class TraitsList extends JList<Object> implements ListSelectionListener {
|
||||
if (classIndex >= abc.instance_info.size()) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.classIndex = classIndex;
|
||||
setModel(new TraitsListModel(abc, classIndex, scriptIndex, sorted));
|
||||
|
||||
}
|
||||
|
||||
private int lastSelected = -1;
|
||||
|
||||
@@ -117,15 +117,17 @@ public class TraitsListItem {
|
||||
}
|
||||
} else if (isStatic) {
|
||||
ConvertData convertData = new ConvertData();
|
||||
abc.class_info.get(classIndex).static_traits.traits.get(index).convertHeader(null, convertData, "", abc, true, ScriptExportMode.AS, scriptIndex, classIndex, new NulWriter(), new ArrayList<>(), false);
|
||||
Trait trait = abc.class_info.get(classIndex).static_traits.traits.get(index);
|
||||
trait.convertHeader(null, convertData, "", abc, true, ScriptExportMode.AS, scriptIndex, classIndex, new NulWriter(), new ArrayList<>(), false);
|
||||
HighlightedTextWriter writer = new HighlightedTextWriter(Configuration.getCodeFormatting(), false);
|
||||
abc.class_info.get(classIndex).static_traits.traits.get(index).toStringHeader(null, convertData, "", abc, true, ScriptExportMode.AS, scriptIndex, classIndex, writer, new ArrayList<>(), false);
|
||||
trait.toStringHeader(null, convertData, "", abc, true, ScriptExportMode.AS, scriptIndex, classIndex, writer, new ArrayList<>(), false);
|
||||
s = writer.toString();
|
||||
} else {
|
||||
ConvertData convertData = new ConvertData();
|
||||
abc.instance_info.get(classIndex).instance_traits.traits.get(index).convertHeader(null, convertData, "", abc, false, ScriptExportMode.AS, scriptIndex, classIndex, new NulWriter(), new ArrayList<>(), false);
|
||||
Trait trait = abc.instance_info.get(classIndex).instance_traits.traits.get(index);
|
||||
trait.convertHeader(null, convertData, "", abc, false, ScriptExportMode.AS, scriptIndex, classIndex, new NulWriter(), new ArrayList<>(), false);
|
||||
HighlightedTextWriter writer = new HighlightedTextWriter(Configuration.getCodeFormatting(), false);
|
||||
abc.instance_info.get(classIndex).instance_traits.traits.get(index).toStringHeader(null, convertData, "", abc, false, ScriptExportMode.AS, scriptIndex, classIndex, writer, new ArrayList<>(), false);
|
||||
trait.toStringHeader(null, convertData, "", abc, false, ScriptExportMode.AS, scriptIndex, classIndex, writer, new ArrayList<>(), false);
|
||||
s = writer.toString();
|
||||
}
|
||||
} catch (InterruptedException ex) {
|
||||
@@ -144,7 +146,6 @@ public class TraitsListItem {
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
METHOD,
|
||||
VAR,
|
||||
CONST,
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jpexs.decompiler.flash.gui.abc;
|
||||
|
||||
import com.jpexs.decompiler.flash.abc.ABC;
|
||||
import com.jpexs.decompiler.flash.abc.types.traits.Trait;
|
||||
import com.jpexs.decompiler.flash.configuration.Configuration;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -55,19 +56,24 @@ public final class TraitsListModel implements ListModel<Object> {
|
||||
private void reset() {
|
||||
items = new ArrayList<>();
|
||||
if (classIndex > -1) {
|
||||
for (int t = 0; t < abc.class_info.get(classIndex).static_traits.traits.size(); t++) {
|
||||
if (abc.class_info.get(classIndex).static_traits.traits.get(t).isVisible(true, abc)) {
|
||||
items.add(new TraitsListItem(TraitsListItem.Type.getTypeForTrait(abc.class_info.get(classIndex).static_traits.traits.get(t)), t, true, abc, classIndex, scriptIndex));
|
||||
List<Trait> traits = abc.class_info.get(classIndex).static_traits.traits;
|
||||
for (int t = 0; t < traits.size(); t++) {
|
||||
if (traits.get(t).isVisible(true, abc)) {
|
||||
items.add(new TraitsListItem(TraitsListItem.Type.getTypeForTrait(traits.get(t)), t, true, abc, classIndex, scriptIndex));
|
||||
}
|
||||
}
|
||||
for (int t = 0; t < abc.instance_info.get(classIndex).instance_traits.traits.size(); t++) {
|
||||
if (abc.instance_info.get(classIndex).instance_traits.traits.get(t).isVisible(false, abc)) {
|
||||
items.add(new TraitsListItem(TraitsListItem.Type.getTypeForTrait(abc.instance_info.get(classIndex).instance_traits.traits.get(t)), t, false, abc, classIndex, scriptIndex));
|
||||
|
||||
traits = abc.instance_info.get(classIndex).instance_traits.traits;
|
||||
for (int t = 0; t < traits.size(); t++) {
|
||||
if (traits.get(t).isVisible(false, abc)) {
|
||||
items.add(new TraitsListItem(TraitsListItem.Type.getTypeForTrait(traits.get(t)), t, false, abc, classIndex, scriptIndex));
|
||||
}
|
||||
}
|
||||
|
||||
items.add(new TraitsListItem(TraitsListItem.Type.INITIALIZER, 0, false, abc, classIndex, scriptIndex));
|
||||
items.add(new TraitsListItem(TraitsListItem.Type.INITIALIZER, 0, true, abc, classIndex, scriptIndex));
|
||||
}
|
||||
|
||||
if (Configuration.enableScriptInitializerDisplay.get()) {
|
||||
items.add(new TraitsListItem(TraitsListItem.Type.SCRIPT_INITIALIZER, 0, true, abc, classIndex, scriptIndex));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user