ROSE
0.9.6a
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
unification_ann.h
Go to the documentation of this file.
1
#ifndef UNIFICATION_ANN_H
2
#define UNIFICATION_ANN_H
3
4
#include "c_breeze.h"
5
#include "unification.h"
6
#include "
broadway.h
"
7
8
class
UnificationBasedPtr_Ann
:
public
UnificationBasedPtr {
9
private
:
10
Annotations
*
_annotations
;
11
12
map<annVariable*,Unify_ECR*>
global_var_ecr
;
13
map<annVariable*,typeNode*>
global_var_type
;
14
15
set<declNode*>
fields_from_annotation
;
16
17
UnificationBasedPtr_Ann
(Linker &l,
Annotations
*ann);
18
19
virtual
bool
annotation_returns_object
(procNode *proc)
const
;
20
virtual
void
annotation_call_arg
(procNode *,
int
arg, typeNode*, Unify_ECR *);
21
virtual
void
annotation_call_arg
(procNode *,
int
arg, typeNode*, Alpha *);
22
virtual
void
annotation_ret_val
(procNode *, Unify_ECR *taoR, unitNode *unit);
23
virtual
void
annotation_init_global
(declNode *global);
24
virtual
void
annotation_init_globals
();
25
26
void
process_struct_rule
(
annVariable
*, declNode *, typeNode *dtype,
27
const
structure_list
& struct_rules,
28
Unify_ECR *);
29
30
public
:
31
32
virtual
bool
isField
(declNode *f,
bool
&from_annotation)
const
;
33
34
virtual
void
mark_alloc
(stmtNode *stmt, declNode *source_decl,
35
declNode *target_decl);
36
37
static
UnificationBasedPtr *
analyze_all
(Linker &,
Annotations
*ann);
38
};
39
40
#endif
rose-edg4x
src
midend
programAnalysis
annotationLanguageParser
unification_ann.h
Generated on Mon May 5 2014 17:29:29 for ROSE by
1.8.4