| 914 | |
| 915 | |
| 916 | ASTbinary_expression::ASTbinary_expression (OSLCompilerImpl *comp, Operator op, |
| 917 | ASTNode *left, ASTNode *right) |
| 918 | : ASTNode (binary_expression_node, comp, op, left, right) |
| 919 | { |
| 920 | // Check for a user-overloaded function for this operator. |
| 921 | // Disallow a few ops from overloading. |
| 922 | if (op != And && op != Or) { |
| 923 | ustring funcname = ustring::format ("__operator__%s__", opword()); |
| 924 | Symbol *sym = comp->symtab().find (funcname); |
| 925 | if (sym && sym->symtype() == SymTypeFunction) |
| 926 | m_function_overload = (FunctionSymbol *)sym; |
| 927 | } |
| 928 | } |
| 929 | |
| 930 | |
| 931 | |