
names "DUMMYUNIONNAME" and "DUMMYSTRUCTNAME" for anonymous unions and structs. Support const and extern definitions. Retain tokens (and whether numbers are hex or not) used for computing constant expressions, so that the full expression can be written to the header file instead of the computed integer result of the expression. Parse the sizeof() operator. Compute and remember constant definitions and enum values so they can be used in expressions. Improved identifier lookup speed. Fixed some bugs.
40 lines
1.4 KiB
C
40 lines
1.4 KiB
C
/*
|
|
* IDL Compiler
|
|
*
|
|
* Copyright 2002 Ove Kaaven
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef __WIDL_HEADER_H
|
|
#define __WIDL_HEADER_H
|
|
|
|
extern int is_void(type_t *t, var_t *v);
|
|
extern void write_name(FILE *h, var_t *v);
|
|
extern char* get_name(var_t *v);
|
|
extern void write_type(FILE *h, type_t *t, var_t *v, char *n);
|
|
extern int is_object(attr_t *a);
|
|
extern int is_local(attr_t *a);
|
|
extern var_t *is_callas(attr_t *a);
|
|
extern void write_method_args(FILE *h, var_t *arg, char *name);
|
|
extern void write_forward(type_t *iface);
|
|
extern void write_interface(type_t *iface);
|
|
extern void write_typedef(type_t *type, var_t *names);
|
|
extern void write_expr(FILE *h, expr_t *e);
|
|
extern void write_constdef(var_t *v);
|
|
extern void write_externdef(var_t *v);
|
|
|
|
#endif
|