boolean loggedMethod = false;
if (event instanceof IMethodCallEvent) {
IMethodCallEvent mce = (IMethodCallEvent)event;
if (mce.getCalledBehavior() != null && isForward) {
IBehaviorInfo b = mce.getCalledBehavior();
MethodInfo i = getTODSession().getClassInformationProvider().getMethodInfo(b);
mce.getOperationBytecodeIndex();
int n = TypeUtils.calculateLineNumber(b, mce.getOperationBytecodeIndex());
i.setLineNumber(n);
stack.add(i);
loggedMethod = true;
}
}
ICallerSideEvent currentEvent = (ICallerSideEvent)event;
boolean isFirst = true;
do {
if (currentEvent.getOperationBehavior() != null) {
IBehaviorInfo method = currentEvent.getOperationBehavior();
MethodInfo i = getTODSession().getClassInformationProvider().getMethodInfo(method);
int n = TypeUtils.calculateLineNumber(method, currentEvent.getOperationBytecodeIndex());
//we really need the current location not some calculated position...is this possible?
i.setLineNumber(n);
if(!isStepInto && isFirst && isForward && event instanceof IMethodCallEvent){
isFirst = false;
}else{
stack.add(i);
}