2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
13 typedef struct _aliasStack *aliasStack ;
15 typedef struct _aliasStack
18 aliasStack thisbranch;
19 aliasStack lastbranch;
24 extern aliasStack aliasStack_new(void);
26 extern void aliasStack_newAlias (aliasStack s, sRef el, sRef al);
27 extern void aliasStack_clearAlias (aliasStack s, sRef el);
28 extern sRefSet aliasStack_canAlias (aliasStack s, sRef sr);
30 extern void aliasStack_push (aliasStack s, sRef el) ;
31 extern aliasStack aliasStack_pop (aliasStack s) ;
32 extern sRef aliasStack_top (aliasStack s) ;
34 extern cstring aliasStack_unparse (aliasStack s) ;
35 extern void aliasStack_free (/*@only@*/ aliasStack s) ;
37 extern sRefSet aliasStack_aliasedBy (aliasStack s, sRef sr);
38 extern aliasStack aliasStack_branch (aliasStack s);
39 extern aliasStack aliasStack_trueBranch (aliasStack s);
40 extern aliasStack aliasStack_altBranch (aliasStack s);
41 extern aliasStack aliasStack_popBranches (aliasStack alt);
42 extern aliasStack aliasStack_popTrueBranch (aliasStack s);
43 extern void aliasStack_checkGlobs (aliasStack s);
45 # define aliasStackBASESIZE MIDBASESIZE
46 # define aliasStackNULL ((aliasStack)0)
48 # error "Multiple include"