/* %Z%%M% %I% %E% */

/*
 * Copyright (c) 1992, 1995 by Wayne C. Gramlich.
 * All rights reserved.
 *
 * Permission to use, copy, modify, distribute, and sell this software
 * for any purpose is hereby granted without fee provided that the above
 * copyright notice and this permission are retained.  The author makes
 * no representations about the suitability of this software for any purpose.
 * It is provided "as is" without express or implied warranty.
 */

/* This file defines the routine_info data structure: */

#ifndef ROUTINE_INFO_DEFS_H
#define ROUTINE_INFO_DEFS_H

#ifndef STHEADERS_H
#include "stheaders.h"
#endif

#ifndef ROUTINE_INFO_EXPORTS_H
#include "routine_info_exports.h"
#endif

#ifndef VECTOR_TYPES_H
#include "vector_types.h"
#endif

struct routine__info__type__struct {
	Vec(Str)	argument_names;		/* Argument names */
	Vec(Str)	argument_type_refs;	/* Argument type references */
	char		*breakpoints;		/* Breakpoints vector */
	instantiation___object *instantiations;	/* List of instantiations */
	Vec(int)	line_numbers;		/* Line numbers */
	Str		name;			/* Routine name */
	Vec(Str)	return_type_refs;	/* Return type references */
	Str		type_name;		/* Type name */
	Vec(Str)	variable_names;		/* Variable names */
	Vec(Str)	variable_type_refs;	/* Variable type references */
	Vec(Str)	yield_type_refs;	/* Yield type refereces */
};

#endif /* ROUTINE_INFO_DEFS_H */
