summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/ast
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixing executable tests to take new rundir into accountluke2007-02-011-1/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2145 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing selector tests to get rid of a lame hash ordering bug in the tests.luke2007-02-011-0/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2142 980ebf18-57e1-0310-9a29-db15c13687c0
* changing selector error messageluke2007-01-261-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2090 980ebf18-57e1-0310-9a29-db15c13687c0
* Hopefully fixing tagging problemluke2006-12-291-2/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1995 980ebf18-57e1-0310-9a29-db15c13687c0
* Not downcasing facts any longer, closing #210 (although not using the patch ↵luke2006-12-232-2/+19
| | | | | | from mpalmer, since I had not noticed the patch was there). Also, making all nodes, classes, and definitions case insensitive, closing #344. Finally, I added case insensitivity to the language in general, which should preserve backwards compatibility and probably makes the most sense in the long run anyway. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1964 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing painfully difficult to find bug in defining exported resourcesluke2006-12-141-2/+9
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1922 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #339, and the bigger problem it concealed. Metaparams are now only ↵luke2006-11-131-0/+4
| | | | | | added to resources that do not explicitly set them. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1869 980ebf18-57e1-0310-9a29-db15c13687c0
* Merging the code over from the oscar branch. I will now be doing all ↵luke2006-11-086-0/+14
| | | | | | development in the trunk again, except for larger changes, which will still get their own branch. This is a merge of the changes from revision 1826 to revision 1834. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1835 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing virtual object collection. I apparently broke it when I added rails ↵luke2006-10-181-3/+3
| | | | | | collection back, and I never created any end-to-end tests. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1805 980ebf18-57e1-0310-9a29-db15c13687c0
* adding explicit load of ast/branch to its subclassesluke2006-10-153-0/+6
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1780 980ebf18-57e1-0310-9a29-db15c13687c0
* Many, many, many performance improvements in the compiler (I hope). I did ↵luke2006-10-065-67/+58
| | | | | | not change functionality anywhere, but I did some profiling and significantly reduced the runtime of many methods, and especially focused on some key methods that run many times. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1739 980ebf18-57e1-0310-9a29-db15c13687c0
* Removing some left-over debuggingluke2006-10-041-4/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1727 980ebf18-57e1-0310-9a29-db15c13687c0
* Merging the changes from the override-refactor branch. This is a ↵luke2006-10-0420-1137/+654
| | | | | | significant rewrite of the parser, but it has little affect on the rest of the code tree. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1726 980ebf18-57e1-0310-9a29-db15c13687c0
* Using the "trace" configuration parameter to determine whether a stack trace ↵luke2006-09-158-10/+10
| | | | | | should be printed, rather than just using "debug". I added the param a little while ago and was using it internally in Puppet::DevError, but I just now went through the whole configuration and switched to using it. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1613 980ebf18-57e1-0310-9a29-db15c13687c0
* Tracking down some weird bugs that managed to creep into the parser. I ↵luke2006-08-284-18/+29
| | | | | | expect that the main ones were a result of the If support. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1494 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing definition inheritance. I have not yet written tests yet, but my ↵luke2006-08-226-42/+129
| | | | | | last commit pretty seriously broke some things without me realizing it, so I wanted to get this in. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1484 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding "if/else" constructs. No operators, no elsif, but it is a good ↵luke2006-08-222-0/+67
| | | | | | start, anyway. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1483 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding warnings and error throwing for #218 -- metaparams in prototypes are ↵luke2006-08-211-1/+29
| | | | | | treated specially. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1481 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing changes that require dollar signs in prototypesluke2006-08-142-0/+3
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1468 980ebf18-57e1-0310-9a29-db15c13687c0
* Found a bug where single-value selectors can fail on a second compile. ↵luke2006-06-091-1/+4
| | | | | | Fixed it, and am now compiling all snippets twice. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1250 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #161. Basically, AST::ObjectDef now catches when users specify a ↵luke2006-06-011-8/+25
| | | | | | name as a parameter instead of the name before the colon and modify the results accordingly. This catches this kind of problem, and the normal name handling picks up everything else. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1229 980ebf18-57e1-0310-9a29-db15c13687c0
* I believe I have finalized export/collection support. I still want to go ↵luke2006-05-151-10/+37
| | | | | | through all of the code and s/collectable/exported/g (thanks to womble for that term). git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1193 980ebf18-57e1-0310-9a29-db15c13687c0
* I had to redo how the scopes handled collectable objects (which I will soon ↵luke2006-05-144-9/+27
| | | | | | change to being called "exported objects"). All seems to work now, though. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1192 980ebf18-57e1-0310-9a29-db15c13687c0
* I appear to have object collection working, incredibly. This commit does ↵luke2006-05-132-4/+52
| | | | | | the collection from the database up to adding the objects to the current scope, which is what sends it to the client. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1190 980ebf18-57e1-0310-9a29-db15c13687c0
* The "collectable" syntax now works end-to-end -- the parser correctly ↵luke2006-05-131-1/+6
| | | | | | recognizes it, the AST objects retain the settings, the scopes do the right conversion, the interpreter stores them all in the database, and then it strips the collectable objects out before sending the object list to the client git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1189 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding some small changes towards fixing #140 and #83, but this work needs ↵luke2006-05-135-13/+35
| | | | | | to take a back seat to object collection, so i will come back to it later. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1186 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #141. It was a problem related to the recent parser changes I made.luke2006-05-121-10/+22
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1185 980ebf18-57e1-0310-9a29-db15c13687c0
* Preliminary commit of the first phase of the parser redesign. The biggest ↵luke2006-05-092-17/+45
| | | | | | difference is that overrides should now work for definitions (although i do not yet have a test case -- i will add one on the next commit). The way this is implemented is by having scopes translate themselves at eval time, but in two phases -- the first phase does the overrides, and the second phase does the evaluation of definitions and classes. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1180 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing a stupid bug i managed to introduce in 0.16.2 (probably) involving ↵luke2006-05-031-0/+17
| | | | | | importing files with classes in them. This is a better solution than what I had before the bug, anyway. Also, some documentation fixes. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1167 980ebf18-57e1-0310-9a29-db15c13687c0
* This should have been in 0.16.1. Moving the "setclass" statements around so ↵luke2006-04-262-8/+9
| | | | | | that classes are set before a given class's code is evaluated, so it can be tested within the code, within node defs, components, or classes. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1139 980ebf18-57e1-0310-9a29-db15c13687c0
* Creating a simplistic, generic function framework in the parser, so it is ↵luke2006-04-262-6/+66
| | | | | | now very easy to add new functions. There is a pretty crappy, hardwired distinction between functions that return values and those that do not, but I do not see a good way around it right now. Functions are also currently responsible for handling their own arity, although I have plans for fixing that. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1134 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing a bunch of small bugs, mostly found by testing on solaris, and added ↵luke2006-04-171-1/+1
| | | | | | a check to the test system that points out memory growth git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1113 980ebf18-57e1-0310-9a29-db15c13687c0
* Changing "set" to "tag"luke2006-04-111-0/+26
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1106 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding the host name as a tag (stripped of the domain name)luke2006-04-111-0/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1105 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #117. If only one value was provided, then it was not placed in an ↵luke2006-04-101-0/+2
| | | | | | array, yet AST::Selector expected an array. The grammar needs to have some abstraction added or something, because I seem to have encountered this bug for every ast type that supports arrays internally. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1097 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #103. There are now no such things as node scopes; the entire tree ↵luke2006-04-051-4/+0
| | | | | | is evaluated on every node connection, and node facts are set at the top-level scope. This includes,um, the code; the last commit was accidentally just test changes. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1073 980ebf18-57e1-0310-9a29-db15c13687c0
* Change how names for nodes are specified: the 'node' keyword can be followed ↵lutter2006-04-041-1/+10
| | | | | | by a NAME or by single quoted text, i.e. fully qualified names for nodes must be enclosed in single quotes git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1064 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing the class file to actually store class names, not object ids. Also ↵luke2006-04-041-1/+1
| | | | | | added tests to make sure it all stays that way. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1063 980ebf18-57e1-0310-9a29-db15c13687c0
* Manifests can now specify node names with fully qualified domain names, too.lutter2006-03-311-0/+3
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1047 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #96. Defaults are now set when the object is passed out by the ↵luke2006-03-091-45/+1
| | | | | | scope, rather than when the object is created. This is nice because it also moves awareness of the scope internals out of the AST object and back into the scope. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@996 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #97. I was wrong about the object type I had, so I was calling ↵luke2006-03-091-1/+1
| | | | | | "type" with no arguments, which was causing the bug. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@995 980ebf18-57e1-0310-9a29-db15c13687c0
* making case statements not create a new scopeluke2006-03-061-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@990 980ebf18-57e1-0310-9a29-db15c13687c0
* fixing some more logging issuesluke2006-03-061-4/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@989 980ebf18-57e1-0310-9a29-db15c13687c0
* Supporting variables as the test value in both case statements and selectors.luke2006-03-032-5/+14
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@976 980ebf18-57e1-0310-9a29-db15c13687c0
* Definitions now always create their own context, which means that they ↵luke2006-03-032-15/+5
| | | | | | cannot override elements in the containing scopes. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@972 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing bug #60. Converting nodes to use types everywhere instead of names, ↵luke2006-02-282-48/+38
| | | | | | and adding a localobjectable to keep track of what parameters have been defined locally. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@957 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing bug #73; node names now appear only once in the pathluke2006-02-272-4/+8
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@955 980ebf18-57e1-0310-9a29-db15c13687c0
* Removing all of the autoname codeluke2006-02-272-31/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@953 980ebf18-57e1-0310-9a29-db15c13687c0
* Mostly, this is a refactoring commit. There is one significant new feature,luke2006-02-2716-119/+201
| | | | | | | | | | | | | | | | | though: overrides now only work within a class heirarchy, which is to say that a subclass can override an element in a base class, but a child scope cannot otherwise override an element in a base scope. I've also done a good bit of refactoring, though; notably, AST#evaluate now takes named arguments, and I changed the 'name' parameter to 'type' in all of the Component classes (this was all internal, but was confusing as it was). I also removed the need for the autonaming stuff -- it's now acceptable for components not to have names, and everything behaves correctly. I haven't yet removed the autoname code, though; I'll do that on the next commit. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@952 980ebf18-57e1-0310-9a29-db15c13687c0
* Switching setclass to use object_ids instead of class names, and adding some ↵luke2006-02-271-2/+5
| | | | | | comments. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@951 980ebf18-57e1-0310-9a29-db15c13687c0