{"push_id":1074183412,"size":1,"distinct_size":1,"ref":"refs/heads/virtual-docs","head":"2b231addcb53023e3bda38a2d245361fff8ecc03","before":"f0786eb4f6904ab944d6ac4ac5d7fe32e564eaca","commits":[{"sha":"2b231addcb53023e3bda38a2d245361fff8ecc03","author":{"email":"933af5bec0bc58056526d55ca6c7b45fcf14cc48@gmail.com","name":"Torin Sandall"},"message":"Add support for virtual docs\n\nThese changes extend the reference evaluation to support virtual docs, i.e.,\nrules that reference other rules. The reference evaluation is extended so that\nreferences to rules are evaluated and then the bindings are updated to map the\noriginal reference to the output of the referenced rule (aka, the virtual\ndocument).\n\nAdditional changes:\n\n- Added support for references against variables.\n- Added hashMap to store bindings. This is required because bindings can now\nbe variables or references.\n- Added Query helper on Array and Object AST types.\n\nAddressed comments from initial PR:\n\n- Comments for future optimization\n- Additional test cases\n- Removed unnecessary branch from evalEqUnifyArrayRef\n- Fixed evaluation of non-ground refs embedded inside objects/arrays.\n- Renamed document kind enumeration values","distinct":true,"url":"https://api.github.com/repos/tsandall/opa/commits/2b231addcb53023e3bda38a2d245361fff8ecc03"}]}