Gunnar Beutner
827125a69a
Clean up the code a bit
...
refs #9096
2015-08-26 06:35:06 +02:00
Gunnar Beutner
8fc92d8a08
Fix crash in ConfigItem::CommitNewItems
...
refs #9096
2015-08-26 06:35:06 +02:00
Gunnar Beutner
6af771b3bf
Fix crash in ConfigCompiler::RegisterZoneDir
...
fixes #9987
2015-08-24 14:14:44 +02:00
Gunnar Beutner
6a8f890e7c
Remove the FutureExpression class
...
fixes #9972
2015-08-24 11:04:26 +02:00
Gunnar Beutner
71dc682924
Implement support for "." in attributes when creating objects
...
refs #9082
2015-08-18 16:53:30 +02:00
Gunnar Beutner
d8cab2f0e8
Add 'override' keyword to methods
...
refs #9929
2015-08-18 12:45:30 +02:00
Gunnar Beutner
7fc7cde6a1
Build fix for Windows
2015-08-17 19:36:27 +02:00
Michael Friedrich
0f5287c2b1
Add module attribute for ConfigObject and set its origin
...
fixes #9852
2015-08-17 16:08:57 +02:00
Gunnar Beutner
071d2f18fb
Rename DynamicObject/DynamicType to ConfigObject/ConfigType
...
fixes #9914
2015-08-15 20:40:41 +02:00
Gunnar Beutner
827de21907
Improve error messages for duplicate objects
...
refs #9101
2015-08-15 20:07:12 +02:00
Gunnar Beutner
1b21faeb5d
Move object name validation into ConfigItemBuilder class
...
fixes #9911
2015-08-15 20:07:11 +02:00
Gunnar Beutner
ce2735f10b
Fix validation errors when creating objects with the API
...
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner
e2290d5012
Implement support for unregistering objects
...
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner
16ddc12c06
Implement support for creating objects
...
refs #9101
2015-08-15 20:07:11 +02:00
Michael Friedrich
d7970f5bb1
Implement modified attributes v2
...
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Gunnar Beutner
aa00f4183a
Get rid of code duplication in ConfigWriter/ConsoleCommand
...
refs #9099
2015-08-11 06:47:08 +02:00
Gunnar Beutner
07f9df8b2d
Build fix for Windows
2015-08-10 15:28:31 +02:00
Gunnar Beutner
a7bfc5ef16
Fix: Dict initializer incorrectly re-initialized field that is set to an empty string
...
fixes #9835
2015-08-05 07:45:10 +02:00
Michael Friedrich
973db46d40
Implement support for writing configuration files
...
fixes #9099
2015-08-03 15:07:38 +02:00
Gunnar Beutner
5bd46c2b38
Fix: ScriptFrame's 'Self' attribute gets corrupted when an expressions throws an exception
...
fixes #9795
2015-07-30 20:22:02 +02:00
Gunnar Beutner
1634dbc6e4
Fix crash when trying to set field on a value that is not an object
...
fixes #9779
2015-07-30 08:28:07 +02:00
Michael Friedrich
0a1dad0a8f
Fix broken cluster config sync w/ latest api changes
...
Apart from dropping the requirement of adding 'include_zones "etc", "zones.d"'
on upgrade to 2.4, we've forgotten to register the local zone directory into
the new ZoneFragment tree.
This fix adds a new function to register the local zones.d directory.
After that the config sync works again.
fixes #9735
2015-07-26 17:57:34 +02:00
Gunnar Beutner
ccd63b9d15
Implement the include_zones directive
...
refs #9083
2015-07-21 09:32:17 +02:00
Michael Friedrich
51d0e71a00
Don't allow "ignore where" for groups when there's no "assign where"
...
fixes #9554
2015-07-16 13:56:12 +02:00
Michael Friedrich
c8d129bf9f
Enable -Wno-deprecated-register for Clang and AppleClang
...
refs #9414
2015-07-14 15:02:43 +02:00
Michael Friedrich
2add0c7b3d
Fix -Wno-deprecated-register flag w/ sles11sp3 (Unix/Darwin only)
...
This only applies to git master (target 2.4)
refs #8842
refs #9559
fixes #9414
Signed-off-by: Michael Friedrich <michael.friedrich@gmail.com>
2015-07-05 15:14:18 +02:00
Michael Friedrich
ed3882ba33
Fix config parser ignoring forbidden "ignore" in template definition
...
fixes #9535
2015-07-02 17:53:34 +02:00
Gunnar Beutner
d93bcedaad
Implement sandbox mode for the config parser
...
fixes #9068
2015-04-16 08:48:17 +02:00
Gunnar Beutner
f69c0bd5a2
Remove the ScopeCurrent constant
...
fixes #9044
2015-04-15 08:36:17 +02:00
Paul Richards
5cd2056f43
Fix crash in VMOps::FunctionCall
...
fixes #8952
Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-04-01 22:51:17 +02:00
Gunnar Beutner
1c7e7dac60
Avoid setting up unnecessary stack frames for dictionary expressions
2015-03-31 12:39:34 +02:00
Gunnar Beutner
91da55872d
Avoid unnecessary dictionary lookups
...
fixes #8922
2015-03-31 11:45:38 +02:00
Gunnar Beutner
a74fb1e7e8
Avoid setting up unnecessary stack frames for function calls
2015-03-31 07:09:20 +02:00
Gunnar Beutner
ec7224e3ed
Generate C++ code for type validators
...
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Gunnar Beutner
665c3b45c1
Add support for the C++11 keyword 'override'
...
fixes #8842
2015-03-23 07:55:06 +01:00
Gunnar Beutner
808a26ae72
Fix: 'return' keyword doesn't work inside for loops
...
fixes #8834
2015-03-22 00:04:57 +01:00
Gunnar Beutner
ed29d06ab6
Implement constructor-style casts
...
fixes #8832
2015-03-21 22:48:23 +01:00
Gunnar Beutner
250fc54cd0
Fix copyright header indentation
2015-03-21 11:02:01 +01:00
Gunnar Beutner
e8cee8d5e2
Allow using more than one %validator rule for the same type
...
fixes #8829
2015-03-20 15:49:55 +01:00
Gunnar Beutner
16ef84fd35
Use TypeInstance field instead of looking up types by name
...
fixes #8817
2015-03-20 08:15:07 +01:00
Gunnar Beutner
e22386e63f
Make load order for objects more reliable
...
fixes #8770
2015-03-19 15:58:38 +01:00
Gunnar Beutner
6812e2668c
Improve error message for invalid field access
...
fixes #8769
2015-03-19 13:48:51 +01:00
Gunnar Beutner
0884265180
Fix leak in ConfigCompiler::CompileStream
...
refs #8791
2015-03-19 08:17:57 +01:00
Gunnar Beutner
2aa65f3f4c
Don't use the thread pool to compile Livestatus scripts
...
refs #8791
2015-03-18 14:36:46 +01:00
Gunnar Beutner
3e08f2e0b5
Make order for deferred initializers deterministic
...
refs #8791
2015-03-18 13:24:31 +01:00
Gunnar Beutner
50b1e1cf6b
Fix livestatus unit tests
...
refs #8791
2015-03-18 12:11:42 +01:00
Gunnar Beutner
6c96d5bc98
Clean up the start-up process a bit
...
fixes #8791
2015-03-18 11:14:51 +01:00
Gunnar Beutner
4a8920b1d4
Improve Flex version detection on Windows
...
refs #8750
2015-03-16 13:32:02 +01:00
Gunnar Beutner
8072ca31d9
Ensure that flex meets the version requirements
...
fixes #8750
2015-03-15 21:08:06 +01:00
Gunnar Beutner
8682c530af
Fix line continuation support for parentheses
...
fixes #8679
2015-03-11 10:01:03 +01:00
Gunnar Beutner
977ca844c7
Remove an unnecessary temporary variable
2015-03-10 15:23:27 +01:00
Gunnar Beutner
e50d3e6e5a
Fix validator for dependencies
...
fixes #8596
2015-03-09 08:04:18 +01:00
Gunnar Beutner
77fc213d6d
Remove unnecessary dynamic_casts
2015-03-07 14:47:54 +01:00
Gunnar Beutner
4a2a6d999a
Fix incorrect debug hints for nested attributes
...
fixes #8604
2015-03-05 13:18:15 +01:00
Gunnar Beutner
c33e78aa04
Don't discard config validators
2015-03-04 09:12:57 +01:00
Gunnar Beutner
4d63351561
Fix some compile warnings
2015-03-04 08:26:15 +01:00
Gunnar Beutner
9bbe9a4875
Fix a memory leak in *Expression::GetReference
...
fixes #8593
2015-03-04 08:00:38 +01:00
Gunnar Beutner
c3e32911a7
Fix: else if doesn't work without an else branch
...
fixes #8572
2015-03-03 10:22:21 +01:00
Gunnar Beutner
7c31654552
Remove the return type for Utility::LoadExtensionLibrary
2015-03-03 07:19:34 +01:00
Gunnar Beutner
09038eeb7c
Remove unused variable
2015-03-02 13:21:06 +01:00
Gunnar Beutner
fd090e057b
Implement 'else if'
...
fixes #8548
2015-02-26 13:51:13 +01:00
Gunnar Beutner
4da3b1c5b3
Make sure that Notification objects are activated after Host/Service objects
...
fixes #8517
2015-02-25 12:43:38 +01:00
Gunnar Beutner
a76f816623
Implement the 'continue' and 'break' keywords
...
fixes #8394
2015-02-19 12:57:52 +01:00
Michael Friedrich
2cd5f3516d
Fix compiler warning
2015-02-11 15:58:07 +01:00
Gunnar Beutner
c95d2f14a3
Fix a crash in yyerror()
...
refs #8133
2015-02-10 15:53:20 +01:00
Gunnar Beutner
0490fe73f7
Implement line continuation for "icinga2 console"
...
fixes #8133
2015-02-10 13:27:02 +01:00
Gunnar Beutner
9de7da4d2a
Update validators for CustomVarObject
...
fixes #7542
2015-02-10 08:53:15 +01:00
Gunnar Beutner
97fc5bb10b
Implement additional attributes for the Host class
...
refs #7564
2015-02-09 08:50:17 +01:00
Gunnar Beutner
bb12704a31
Implement the Json.encode and Json.decode methods
...
fixes #8393
2015-02-09 08:14:06 +01:00
Michael Friedrich
29093f2a2f
Improve error message on missing included config files
...
fixes #8179
2015-02-07 21:50:14 +01:00
Gunnar Beutner
4896428c06
Add path information for objects in objects file
...
fixes #8371
2015-02-05 15:05:07 +01:00
Gunnar Beutner
3b3a65c9ae
Document operator precedence
...
fixes #7816
2015-02-02 12:48:20 +01:00
Gunnar Beutner
173f5241c4
Improve error message for non-matching apply rules
...
fixes #8323
2015-01-30 15:51:22 +01:00
Gunnar Beutner
aeb579d2a0
Implement another syntax for nullary lambdas
...
refs #7564
2015-01-30 09:49:57 +01:00
Gunnar Beutner
d713a6c940
Fix incorrect return value for ConfigItem::ActivateItems
...
refs #8309
2015-01-29 14:40:49 +01:00
Gunnar Beutner
2f44581f14
Validate timeperiod segments
...
fixes #8309
2015-01-29 14:14:56 +01:00
Gunnar Beutner
fb323ee215
Evaluate apply filters in the for loop
...
fixes #7610
2015-01-29 12:38:25 +01:00
Gunnar Beutner
13917e07b0
Implement validator support for function objects
...
fixes #8291
2015-01-27 10:55:14 +01:00
Gunnar Beutner
a11cdbdc39
Replace spaces with tabs
2015-01-27 10:50:15 +01:00
Gunnar Beutner
b858a05f15
Make operators &&, || behave like in JavaScript
...
fixes #8290
2015-01-27 08:40:19 +01:00
Gunnar Beutner
01d3be8820
Implement the while statement
...
fixes #8269
2015-01-23 15:54:27 +01:00
Michael Friedrich
78bfd0204c
Update copyright year
2015-01-22 12:00:23 +01:00
Gunnar Beutner
363f23b1d8
Rename ScriptFunction to Function
...
fixes #8258
2015-01-21 08:48:38 +01:00
Gunnar Beutner
848d076090
Implement the "globals" and "locals" keyword
...
fixes #8244
2015-01-16 13:04:34 +01:00
Gunnar Beutner
76fefaf9e2
Make argument for the return keyword optional
...
fixes #8237
2015-01-16 08:41:27 +01:00
Gunnar Beutner
a1734e3051
Fix deadlock in VMOps::For
...
fixes #8236
2015-01-16 08:40:19 +01:00
Gunnar Beutner
1952d7c844
Disallow spaces in T_STRING_ANGLE
...
fixes #8230
2015-01-15 14:50:07 +01:00
Gunnar Beutner
5db8dd7361
Verify array bounds
...
fixes #7812
2015-01-12 14:19:35 +01:00
Gunnar Beutner
5e9d9aea74
Change return type for 'set' expressions to Empty
...
fixes #8172
2015-01-12 08:55:16 +01:00
Michael Friedrich
ff3ee32d92
Fix DebugInfoRange for ApplyExpression in config parser
...
fixes #8173
2015-01-08 17:00:13 +01:00
Gunnar Beutner
7075607773
Use @$ instead of DebugInfoRange
2015-01-08 15:01:13 +01:00
Gunnar Beutner
79b0c13dfb
Remove unnecessary default rules
2015-01-08 11:39:06 +01:00
Gunnar Beutner
093be8b5c9
Allow side-effect-free expressions in a limited number of cases
...
refs #6570
2015-01-08 10:33:45 +01:00
Gunnar Beutner
0091c70c41
Disallow side-effect-free r-value expressions in expression lists
...
fixes #6570
2015-01-08 09:34:32 +01:00
Gunnar Beutner
acbf916506
Fix ambiguity when parsing include_recursive
...
fixes #8166
2015-01-07 17:22:29 +01:00
Gunnar Beutner
f3e0c5f113
Fix escape sequence for double quotes
...
refs #8164
2015-01-07 13:06:02 +01:00
Gunnar Beutner
2cb9f3011d
Fix escape sequence for backslashes
...
fixes #8164
2015-01-07 08:56:52 +01:00
Gunnar Beutner
c433284d27
Improve error reporting
...
fixes #8136
refs #6070
2014-12-20 15:29:04 +01:00
Gunnar Beutner
ee5f4fb7e3
Improve error reporting for the import keyword
...
fixes #8061
2014-12-20 11:09:21 +01:00
Gunnar Beutner
e03e143177
Report error for invalid escape sequences
...
fixes #7910
2014-12-20 09:48:18 +01:00
Gunnar Beutner
1ddab493e1
Make sure that Value::IsEmpty() returns true for empty strings
...
fixes #8018
2014-12-20 09:31:55 +01:00
Gunnar Beutner
6c53c7f192
Fix debug info for indexer
...
fixes #8132
2014-12-19 16:53:44 +01:00
Gunnar Beutner
a3ea72c4ca
Implement the __commit function
...
refs #8127
2014-12-19 13:08:46 +01:00
Gunnar Beutner
97168378e8
Rename _DEBUG to I2_DEBUG
...
fixes #7767
2014-12-19 12:19:28 +01:00
Gunnar Beutner
6383da1f2f
Replace spaces with tabs
2014-12-18 17:06:00 +01:00
Gunnar Beutner
9f18211ada
Remove obsolete code
...
refs #7709
2014-12-18 15:57:30 +01:00
Gunnar Beutner
873e294158
Refactor the WorkQueue class to make error reporting easier
...
refs #7709
2014-12-18 15:11:57 +01:00
Gunnar Beutner
82a9a8f0cf
Fix crash in ConfigCompilerContext::WriteObject
...
fixes #8106
2014-12-18 12:46:35 +01:00
Gunnar Beutner
28734daa06
Fix crash when accessing invalid fields
...
fixes #8104
2014-12-18 11:21:11 +01:00
Gunnar Beutner
9011c9fa67
Fix crash when accessing invalid fields on objects which don't have prototypes
2014-12-16 18:15:47 +01:00
Gunnar Beutner
23a556c7ce
Make sure that operator % throws an exception when the ride-hand-side argument is 0
...
fixes #8089
2014-12-16 08:52:32 +01:00
Gunnar Beutner
8ef8316ca6
Fix location info for strings
...
fixes #8081
2014-12-16 06:18:39 +01:00
Gunnar Beutner
d72bd4fec2
Add another unit test for expressions
...
refs #8074
2014-12-15 17:23:18 +01:00
Gunnar Beutner
b9831f0be4
Add unit tests for the "var" keyword
...
refs #8074
2014-12-15 16:42:34 +01:00
Gunnar Beutner
77806b9de7
Get rid of the local/global keywords
...
refs #8074
2014-12-15 16:09:17 +01:00
Gunnar Beutner
252f3205cb
Fix incorrect variable scoping
...
refs #8074
2014-12-15 12:58:55 +01:00
Gunnar Beutner
55b7f00382
Remove unnecessary includes
2014-12-15 10:16:06 +01:00
Gunnar Beutner
8c9fdb537f
Remove unused code
...
refs #8074
2014-12-15 06:03:13 +01:00
Gunnar Beutner
262bfb7fc9
Allow if/else in rterms
...
refs #8074
2014-12-14 14:08:41 +01:00
Gunnar Beutner
b40e95d9b6
Only implicitly convert strings to indexers
...
refs #8074
2014-12-14 11:55:44 +01:00
Gunnar Beutner
1cb0231c05
Refactor how variable scopes work
...
refs #8074
2014-12-14 11:33:45 +01:00
Gunnar Beutner
dd4c04aa9b
Implement the 'global' keyword to differentiate between variable scopes
...
refs #8074
2014-12-13 17:48:58 +01:00
Gunnar Beutner
c0f6d65b66
Fix operator precedence for =>
...
refs #8030
2014-12-13 14:06:19 +01:00
Gunnar Beutner
54ab4dd924
Implement support for lambdas
...
refs #8030
2014-12-13 13:50:47 +01:00
Gunnar Beutner
1275847d5a
Improve error messages for failed expressions
...
fixes #8076
2014-12-12 21:21:30 +01:00
Gunnar Beutner
05485ea2d6
Disallow calling strings as functions
...
fixes #8040
2014-12-12 20:45:11 +01:00
Gunnar Beutner
cfd775c948
Move the VMFrame class to libbase
...
refs #8065
2014-12-12 15:33:56 +01:00
Gunnar Beutner
aa38dde1fc
Implement prototype functions
...
fixes #8065
2014-12-12 15:22:37 +01:00
Gunnar Beutner
a94b26ff47
Add missing DebugInfo for field accesses
...
refs #8062
2014-12-12 08:58:39 +01:00
Gunnar Beutner
b016003eb5
Implement string indexers
...
fixes #8062
2014-12-12 06:54:38 +01:00
Gunnar Beutner
4d401a7cc5
Fix if for non-boolean arguments
...
fixes #8072
2014-12-11 21:31:30 +01:00
Gunnar Beutner
a9e2bc4b40
Implement a way to call methods on objects
...
fixes #8071
2014-12-11 21:12:34 +01:00
Gunnar Beutner
7ac6347d6a
Update error message to use the correct lexer token name
...
refs #7883
2014-12-11 15:07:21 +01:00
Gunnar Beutner
e86b36f8d7
Remove the __ prefix from some of the lexer tokens
...
fixes #7883
2014-12-11 13:12:35 +01:00
Gunnar Beutner
2720333d6e
Fix missing location information for included files
...
fixes #7927
2014-12-10 15:06:09 +01:00
Gunnar Beutner
705447ce18
Make ConfigCompiler::HandleInclude return an inline dictionary
...
fixes #8047
2014-12-10 11:30:42 +01:00
Gunnar Beutner
89a0fc006e
Implement a boolean sub-type for the Value class
...
fixes #8043
2014-12-10 09:05:16 +01:00
Gunnar Beutner
9e01f6d8b9
Fix operator precedence for %, |, ^, &, in and !in in combination with <
...
fixes #8029
2014-12-09 20:51:19 +01:00
Gunnar Beutner
291b000e09
Allow modifying the name attribute
...
fixes #8033
2014-12-09 20:37:20 +01:00
Gunnar Beutner
3cb2afd454
Fix minor memory leak in the config parser
2014-12-06 10:23:25 +01:00
Gunnar Beutner
b5b1be95a2
Make the config lexer return an error for unterminated string literals
...
fixes #7808
2014-11-28 06:49:06 +01:00
Gunnar Beutner
ab63fca3d5
Make the config parser thread-safe
...
fixes #7822
2014-11-28 06:48:27 +01:00
Gunnar Beutner
358d91e912
Remove the __parent field in the DynamicObject class
...
refs #7748
2014-11-27 06:32:12 +01:00
Gunnar Beutner
cee13fbec0
Implement the %, ^, %=, ^=, &= and |= operators
...
fixes #7813
2014-11-25 17:16:34 +01:00
Gunnar Beutner
1e5751c540
Build fix for GCC
...
refs #7822
2014-11-25 12:36:13 +01:00
Gunnar Beutner
31605402ea
Move the parser's global variables to the ConfigCompiler class
...
refs #7822
2014-11-25 09:40:32 +01:00
Gunnar Beutner
9281f82ba3
Fix parser problem with missing new-lines
...
refs #7822
2014-11-25 08:59:55 +01:00
Gunnar Beutner
c5839b91aa
Use MakeLiteral instead of 'new LiteralExpression'
...
refs #7822
2014-11-25 08:44:47 +01:00
Gunnar Beutner
03a4452343
Remove the global m_Expressions variable
...
refs #7822
2014-11-25 08:42:27 +01:00
Gunnar Beutner
ed81cb0f2c
Make SetExpression check whether the LHS is null
...
fixes #7814
2014-11-24 18:26:27 +01:00