@Test public void testArrayVariable() throws Exception { String mangled = "?Te@NS1@BobsStuff@@0QAY0BAA@$$CBIA"; MicrosoftDemangler demangler = new MicrosoftDemangler(); DemangledObject demangledObject = demangler.demangle(mangled, true); int txID = program.startTransaction("Test"); SymbolTable st = program.getSymbolTable(); st.createLabel(addr("01001000"), mangled, SourceType.ANALYSIS); DemanglerOptions options = new DemanglerOptions(); demangledObject.applyTo(program, addr("01001000"), options, TaskMonitor.DUMMY); program.endTransaction(txID, false); }
@Override public DemangledObject demangle(String mangled, boolean demangleOnlyKnownPatterns) throws DemangledException { try { DemangledObject demangled = demangleMS(mangled, demangleOnlyKnownPatterns); return demangled; } catch (GenericDemangledException e) { throw new DemangledException(true); } }
MicrosoftDemangler implements Demangler { @Override public DemangledObject demangle(String mangled, boolean demangleOnlyKnownPatterns) throws DemangledException { try { DemangledObject demangled = demangleMS(mangled, demangleOnlyKnownPatterns); return demangled; } catch (GenericDemangledException e) { throw new DemangledException(true); } } }
MicrosoftDemangler implements Demangler { @Override public DemangledObject demangle(String mangled, boolean demangleOnlyKnownPatterns) throws DemangledException { try { DemangledObject demangled = demangleMS(mangled, demangleOnlyKnownPatterns); return demangled; } catch (GenericDemangledException e) { throw new DemangledException(true); } } MicrosoftDemangler(); }
MicrosoftDemangler implements Demangler { @Override public DemangledObject demangle(String mangled, boolean demangleOnlyKnownPatterns) throws DemangledException { try { DemangledObject demangled = demangleMS(mangled, demangleOnlyKnownPatterns); return demangled; } catch (GenericDemangledException e) { throw new DemangledException(true); } } MicrosoftDemangler(); @Override boolean canDemangle(Program program); @Override DemangledObject demangle(String mangled, boolean demangleOnlyKnownPatterns); }
MicrosoftDemangler implements Demangler { @Override public DemangledObject demangle(String mangled, boolean demangleOnlyKnownPatterns) throws DemangledException { try { DemangledObject demangled = demangleMS(mangled, demangleOnlyKnownPatterns); return demangled; } catch (GenericDemangledException e) { throw new DemangledException(true); } } MicrosoftDemangler(); @Override boolean canDemangle(Program program); @Override DemangledObject demangle(String mangled, boolean demangleOnlyKnownPatterns);  }