int sourceLine = index + 1;
int bytecodeHighlight = -1;
int assemblyHighlight = -1;
MetaClass metaClass = null;
if (currentMember != null)
{
metaClass = currentMember.getMetaClass();
}
if (metaClass != null)
{
LineTableEntry entry = getLineTableEntryForSourceLine(metaClass, sourceLine);
if (entry != null)
{
MemberSignatureParts msp = entry.getMemberSignatureParts();
IMetaMember nextMember = metaClass.getMemberFromSignature(msp);
if (nextMember != null)
{
if (!nextMember.equals(currentMember))
{
setMember(nextMember, false, false);
}
int bcOffset = entry.getBytecodeOffset();
bytecodeHighlight = viewerBytecode.getLineIndexForBytecodeOffset(bcOffset);
}
else
{
logger.warn("Could not find member for bc sig: {}", msp);
}
}
assemblyHighlight = viewerAssembly.getIndexForSourceLine(metaClass.getFullyQualifiedName(), sourceLine);
}
viewerBytecode.highlightLine(bytecodeHighlight);
viewerAssembly.highlightLine(assemblyHighlight);
}