class DeleteFunctionCmd implements Command {

	@Override
	public boolean applyTo(DomainObject obj) {
		Program program = (Program) obj;
		// save off the function signature
		//   get the body, comment, stack, return type
		Listing listing = program.getListing();
		Function func = listing.getFunctionAt(entry);
		if (func == null) {
			if (ignoreMissingFunction) {
				return true;		// consider it a success
			}
			return false;
		}

		if (!entry.isExternalAddress()) {
			func.promoteLocalUserLabelsToGlobal();
		}

		listing.removeFunction(entry);

		return true;
	}

	public  DeleteFunctionCmd(Address entry);
	public  DeleteFunctionCmd(Address entry, boolean ignoreMissingFunction);

}