aboutsummaryrefslogtreecommitdiff
path: root/tests/variable
AgeCommit message (Collapse)AuthorFilesLines
2016-04-21Fix legacy stuff in testsBoris Kolpackov1-1/+0
2016-04-18Add support for using value attributes in eval contextBoris Kolpackov2-3/+3
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-12Add support for scope-qualification of overrides, scope visibilityBoris Kolpackov1-2/+42
2016-04-06Test and fix override logicBoris Kolpackov7-0/+366
2016-04-05Add support for scope/target-qualified variable expansionBoris Kolpackov3-0/+42
For example: print $(dir/:var) print $(file{target}:var) print $(dir/file{target}:var) Note that if the scope/target does not (yet) exists, it will be created.
2016-04-04Implement value typing, null support via value attributesBoris Kolpackov5-4/+104
For example: v = [null] v = [string] abc v += ABC # abcABC
2016-04-02Implement variable typing (via attributes)Boris Kolpackov3-0/+26
Now we can do: [string] str = foo
2016-03-31Set part of variable override implementationBoris Kolpackov2-2/+2
2016-03-28Add support for pair representation reversibilityBoris Kolpackov2-0/+16
2015-12-14Add support for variable prepend operator: =+Boris Kolpackov3-0/+21
2015-11-30Implement target type/pattern-specific variablesBoris Kolpackov1-0/+33
For example: cxx{*-options}: dist = true 1. Only single '*' wildcard is supported, matches 0 or more characters. 2. If target type is not specified, it defaults to any target. 3. Appending (+=) is not allowed. 4. The value is expanded immediately in the context of the scope. 5. The more specific pattern (i.e., with the shortest "stem") is preferred. If the stem has the same length, then the last defined (but not redefined) pattern is used. This will probably have to change to become an error. See tests/variable/type-pattern for more examples.
2015-09-09Add support for evaluation contextBoris Kolpackov3-0/+35
For now it acts as just the value mode that can be enabled anywhere variable expansion is supported, for example: (foo=bar): And the primary use currently is to enable/test quoted and indirect variable expansion: "foo bar" = FOO BAR print $"foo bar" # Invalid. print $("foo bar") # Yeah, baby. foo = FOO FOO = foo print $($foo) Not that you should do something like this...
2015-08-24Only treat name as directory if it is reversibleBoris Kolpackov2-0/+12
2015-08-24Add support for reversing project qualification to string valueBoris Kolpackov4-0/+38