0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 01:31:55 +00:00
bird/filter
Ondrej Zajicek cc1099a041 Filter: Implement multiple dispatch for methods
- Extend method descriptors with type signature
 - Daisy chain method descriptors for the same symbol
 - Dispatch methods for same symbol based on type signature
 - Split add/delete/filter operations to multiple methods
 - Replace ad-hoc dispatch of old-style syntax with scope-based dispatch
 - Also change method->arg_num to count initial arg

It still needs some improvements, like better handling of untyped
expressions and better error reporting when no dispatch can be done.

The multiple dispatch could also be extended to dispatch regular
function-like expressions in a uniform way.
2023-09-12 16:31:52 +02:00
..
config.Y Filter: Implement multiple dispatch for methods 2023-09-12 16:31:52 +02:00
data.c Filter: Methods rework 2023-09-12 16:19:33 +02:00
data.h Filter: Implement multiple dispatch for methods 2023-09-12 16:31:52 +02:00
decl.m4 Filter: Implement multiple dispatch for methods 2023-09-12 16:31:52 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
f-inst.c Filter: Implement multiple dispatch for methods 2023-09-12 16:31:52 +02:00
f-inst.h Filter: Implement multiple dispatch for methods 2023-09-12 16:31:52 +02:00
f-util.c Filter: Implement multiple dispatch for methods 2023-09-12 16:31:52 +02:00
filter_test.c Replaced custom linpools in tests for the common tmp_linpool 2022-03-02 12:13:49 +01:00
filter.c Filter: The for loop uses the method system for type dispatch 2023-09-12 16:20:25 +02:00
filter.h Filter: Use more generic approach for intra-config expressions 2023-08-24 04:45:55 +02:00
Makefile Filter: Pre-evaluation of constant expressions 2019-07-02 10:45:53 +02:00
test-reconf-begin.conf Filters: comparison of functions and filters caching 2019-02-26 16:44:24 +01:00
test-reconf-end.conf Filters: comparison of functions and filters caching 2019-02-26 16:44:24 +01:00
test.conf Filter: Methods rework 2023-09-12 16:19:33 +02:00
test.conf2 Filter: Remove quitbird command 2020-05-02 02:47:18 +02:00
test.conf.inc filter/test.conf: Replace print func with assert and format 2016-11-16 12:22:01 +01:00
tree_test.c Replaced custom linpools in tests for the common tmp_linpool 2022-03-02 12:13:49 +01:00
tree.c Filter: Change linearization of branches in switch instruction 2023-01-07 20:18:44 +01:00
trie_test.c Nest: Add tests and benchmark for FIB 2023-05-16 13:25:48 +02:00
trie.c Trie: Fix trie format 2022-02-06 23:27:13 +01:00