{"push_id":1291685741,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"62d57a1e135318cc0d5e51e31967e2df3ca32734","before":"c6f0c3f75a52c58743bb9d774b48a3685d39ea1a","commits":[{"sha":"62d57a1e135318cc0d5e51e31967e2df3ca32734","author":{"name":"Thunder422","email":"be74c33af5534ffb8ddaca40c16a787898dd5a45@verizon.net"},"message":"expression: refactored to simplify, remove duplication and clean up\n\nThe compile numeric expression functions were only called from the\ncompile expression main functions, and the string data type is now being\npassed up from below.  Only if a numeric expression was requested did\none of these functions optional convert to a particular data type\n(double or integer).  The actual check for a numeric data type was in\nthe compile expression function.  The other compile numeric expresion\nfunction was just a pass through and did nothing else.\n\nTherefore, both of the compile numeric expression functions were\nremoved.  The convert functionality for the one was moved into the\ncompile expression function taking an expected data type.  This function\nmay need further refactoring once string support is fully implemented.\n\nThe next refactoring involved removing code duplication.  There was code\nin the compile not operand, compile negation, and compile operator (for\nright hand side operand) that was all the same - obtained the current\ncolumn (for the operand), compiled the operand, and if the data type of\nthe operand was not numeric, would calculate the length of the operand\n(from the now current column) and throw an \"expected numeric expression\"\nerror.  The only difference was the function called to compile the\noperand.\n\nTherefore, the new compile numeric operand function was creating by\nextracting this code, was given a member function pointer to the\nfunction to use to compile the operand, and has a data type return value.\n\nThe final refactorings was to rename the compile operand function\npointers to compile sub-expression to clarify what is actually being\nperformed (it's not just compiling an operand).  Following suit, the\ncompile numeric operand function was renamed to compile numeric\nexpression (again it's not just a numeric operand).  And finally, type\naliases were added for the compile sub expression, get operator codes\n(renamed from just get codes), and convert function pointers.  This make\nit easier to see that these function arguments are function pointers\n(the embedded function pointer syntax hides the name of the argument).\n add type aliases for the","distinct":true,"url":"https://api.github.com/repos/thunder422/ibcx/commits/62d57a1e135318cc0d5e51e31967e2df3ca32734"}]}
{"actor":{"display_login":"thunder422"}}