/*
 *(c) Copyright QNX Software Systems Ltd. 2002.
 * All Rights Reserved.
 * 
 */

package org.eclipse.cdt.debug.core.cdi.model;

/**
 * 
 * Represents an argument in the stack frame.
 * 
 * @since Jul 22, 2002
 */
public interface ICDIArgument extends ICDIVariable, ICDIArgumentObject {
}
