/******************************************************************************* * Copyright (c) 2016 Ericsson * * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ package org.eclipse.tracecompass.internal.analysis.timing.core.callgraph; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.tracecompass.segmentstore.core.ISegment; /** * A Call stack function represented as an {@link ISegment}. It's used to build * a segments tree based on the state system. The parent represents the caller * of the function, and the children list represents its callees. * * @author Sonia Farrah */ public class CalledFunction extends AbstractCalledFunction { private static final long serialVersionUID = 7594768649825490010L; private final Long fSymbol; /** * Create a new segment. * * The end position should be equal to or greater than the start position. * * @param start * Start position of the segment * @param end * End position of the segment * @param symbol * The symbol of the call stack function * @param depth * The depth in the call stack of a function * @param processId * The process ID of the traced application * @param parent * The caller, can be null for root elements */ protected CalledFunction(long start, long end, long symbol, int depth, int processId, @Nullable ICalledFunction parent) { super(start, end, depth, processId, parent); fSymbol = symbol; } @Override public @NonNull Long getSymbol() { return fSymbol; } }