@Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { if (namespace != null) { namespace.toString(writer, localData); writer.append("::"); } else { /*Namespace ns = constants.getMultiname(multinameIndex).getNamespace(constants); if ((ns != null)&&(ns.name_index!=0)) { ret = hilight(ns.getName(constants) + "::")+ret; }*/ } if (name != null) { writer.append("["); name.toString(writer, localData); writer.append("]"); } else { AVM2ConstantPool constants = localData.constantsAvm2; List<DottedChain> fullyQualifiedNames = property ? new ArrayList<>() : localData.fullyQualifiedNames; if (multinameIndex > 0 && multinameIndex < constants.getMultinameCount()) { writer.append( constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames, false)); } else { writer.append("§§unknown_multiname"); } } return writer; }
@Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { writer.append("printAsBitmapNum"); writer.spaceBeforeCallParenthesies(2); writer.append("("); num.toString(writer, localData); writer.append(","); boundingBox.toString(writer, localData); return writer.append(")"); }
public void getValueStr( Trait parent, GraphTextWriter writer, ABC abc, List<String> fullyQualifiedNames) throws InterruptedException { if (assignedValue != null) { if (parent instanceof TraitClass) { TraitClass tc = (TraitClass) parent; int traitInitId = abc.class_info.get(tc.class_info).static_traits.traits.size() + abc.instance_info.get(tc.class_info).instance_traits.traits.size() + 1; int initMethod = abc.class_info.get(tc.class_info).cinit_index; writer.startTrait(traitInitId); writer.startMethod(initMethod); if (Configuration.showMethodBodyId.get()) { writer.appendNoHilight("// method body id: "); writer.appendNoHilight(abc.findBodyIndex(initMethod)); writer.newLine(); } } assignedValue.toString( writer, LocalData.create(abc.constants, new HashMap<Integer, String>(), fullyQualifiedNames)); if (parent instanceof TraitClass) { writer.endMethod(); writer.endTrait(); } return; } if (value_kind != 0) { ValueKind val = new ValueKind(value_index, value_kind); writer.hilightSpecial(val.toString(abc.constants), HighlightSpecialType.TRAIT_VALUE); } }
@Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { writer.append(operator); if (value != null) { if (value.getPrecedence() > precedence) { writer.append("("); value.toString(writer, localData); writer.append(")"); } else { value.toString(writer, localData); } } else { writer.append("null"); } return writer; }
public boolean isXML( ConstantPool constants, HashMap<Integer, String> localRegNames, List<String> fullyQualifiedNames) throws InterruptedException { String cname; if (name != null) { cname = name.toString(LocalData.create(constants, localRegNames, fullyQualifiedNames)); } else { cname = (constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames)); } String cns = ""; if (namespace != null) { cns = namespace.toString(LocalData.create(constants, localRegNames, fullyQualifiedNames)); } else { Namespace ns = constants.getMultiname(multinameIndex).getNamespace(constants); if ((ns != null) && (ns.name_index != 0)) { cns = ns.getName(constants); } } return cname.equals("XML") && cns.isEmpty(); }
@Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { if (namespace != null) { namespace.toString(writer, localData); writer.append("::"); } else { /*Namespace ns = constants.getMultiname(multinameIndex).getNamespace(constants); if ((ns != null)&&(ns.name_index!=0)) { ret = hilight(ns.getName(constants) + "::")+ret; }*/ } if (name != null) { writer.append("["); name.toString(writer, localData); writer.append("]"); } else { ConstantPool constants = localData.constantsAvm2; List<String> fullyQualifiedNames = localData.fullyQualifiedNames; writer.append(constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames)); } return writer; }
@Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { String prefix = "gotoAndStop"; if (playFlag) { prefix = "gotoAndPlay"; } writer.append(prefix); writer.spaceBeforeCallParenthesies(1); writer.append("("); frame.toString(writer, localData); writer.append((sceneBiasFlag ? "," + sceneBias : "")); return writer.append(")"); }
@Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { receiver.toString(writer, localData); writer.append("."); writer.append(methodName); writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int a = 0; a < arguments.size(); a++) { if (a > 0) { writer.append(","); } arguments.get(a).toString(writer, localData); } return writer.append(")"); }
@Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { object.toString(writer, localData); return writer.append("++"); }