blob: 6eb8cdaddbd224279d5ec68ac74f62440e638f10 [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001#include "asn1fix_internal.h"
2#include "asn1fix_export.h"
3
vlmb5be8c32004-08-18 05:42:05 +00004extern arg_t a1f_replace_me_with_proper_interface_arg;
5
6
vlmfa67ddc2004-06-03 03:38:44 +00007asn1p_expr_t *
8asn1f_lookup_symbol_ex(
9 asn1p_t *asn,
vlmfa67ddc2004-06-03 03:38:44 +000010 asn1p_expr_t *expr,
11 asn1p_ref_t *ref) {
12 arg_t arg;
13
14 memset(&arg, 0, sizeof(arg));
15
16 arg.asn = asn;
vlm6c4a8502005-08-18 13:38:19 +000017 arg.mod = expr->module;
vlmfa67ddc2004-06-03 03:38:44 +000018 arg.expr = expr;
vlmb5be8c32004-08-18 05:42:05 +000019 arg.eh = a1f_replace_me_with_proper_interface_arg.eh;
20 arg.debug = a1f_replace_me_with_proper_interface_arg.debug;
21
vlmfa67ddc2004-06-03 03:38:44 +000022
vlm0c6d3812006-03-21 03:40:38 +000023 return asn1f_lookup_symbol(&arg, expr->module, expr->rhs_pspecs, ref);
vlmfa67ddc2004-06-03 03:38:44 +000024}
25
26asn1p_expr_t *
27asn1f_class_access_ex(asn1p_t *asn,
28 asn1p_module_t *mod,
29 asn1p_expr_t *expr,
vlm0c6d3812006-03-21 03:40:38 +000030 asn1p_expr_t *rhs_pspecs,
vlm2e0c1942004-08-22 03:10:23 +000031 asn1p_ref_t *ref) {
vlmb5be8c32004-08-18 05:42:05 +000032 arg_t arg;
33
34 memset(&arg, 0, sizeof(arg));
vlmfa67ddc2004-06-03 03:38:44 +000035
36 arg.asn = asn;
37 arg.mod = mod;
38 arg.expr = expr;
vlmb5be8c32004-08-18 05:42:05 +000039 arg.eh = a1f_replace_me_with_proper_interface_arg.eh;
40 arg.debug = a1f_replace_me_with_proper_interface_arg.debug;
vlmfa67ddc2004-06-03 03:38:44 +000041
vlm0c6d3812006-03-21 03:40:38 +000042 return asn1f_class_access(&arg, mod, rhs_pspecs, ref);
vlmfa67ddc2004-06-03 03:38:44 +000043}
44
45asn1p_expr_t *
vlm04f75f22004-09-22 16:03:19 +000046asn1f_find_terminal_type_ex(asn1p_t *asn, asn1p_expr_t *expr) {
vlmb5be8c32004-08-18 05:42:05 +000047 arg_t arg;
48
49 memset(&arg, 0, sizeof(arg));
vlmfa67ddc2004-06-03 03:38:44 +000050
51 arg.asn = asn;
vlm04f75f22004-09-22 16:03:19 +000052 arg.mod = expr->module;
vlmfa67ddc2004-06-03 03:38:44 +000053 arg.expr = expr;
vlmb5be8c32004-08-18 05:42:05 +000054 arg.eh = a1f_replace_me_with_proper_interface_arg.eh;
55 arg.debug = a1f_replace_me_with_proper_interface_arg.debug;
vlmfa67ddc2004-06-03 03:38:44 +000056
vlm2e0c1942004-08-22 03:10:23 +000057 return asn1f_find_terminal_type(&arg, expr);
vlmfa67ddc2004-06-03 03:38:44 +000058}
vlmb5be8c32004-08-18 05:42:05 +000059
60int
61asn1f_fix_dereference_values_ex(asn1p_t *asn, asn1p_module_t *mod,
62 asn1p_expr_t *expr) {
63 arg_t arg;
64
65 memset(&arg, 0, sizeof(arg));
66
67 arg.asn = asn;
68 arg.mod = mod;
69 arg.expr = expr;
70 arg.eh = a1f_replace_me_with_proper_interface_arg.eh;
71 arg.debug = a1f_replace_me_with_proper_interface_arg.debug;
72
73 return asn1f_fix_dereference_values(&arg);
74}
75