| 917 | } |
| 918 | |
| 919 | AR_ExpNode *AR_EXP_Clone(AR_ExpNode *exp) { |
| 920 | if(exp == NULL) return NULL; |
| 921 | |
| 922 | AR_ExpNode *clone = NULL; |
| 923 | |
| 924 | switch(exp->type) { |
| 925 | case AR_EXP_OPERAND: |
| 926 | clone = _AR_EXP_CloneOperand(exp); |
| 927 | break; |
| 928 | case AR_EXP_OP: |
| 929 | clone = _AR_EXP_CloneOp(exp); |
| 930 | break; |
| 931 | default: |
| 932 | ASSERT(false); |
| 933 | break; |
| 934 | } |
| 935 | |
| 936 | clone->resolved_name = exp->resolved_name; |
| 937 | |
| 938 | return clone; |
| 939 | } |
| 940 | |
| 941 | static inline void _AR_EXP_FreeOpInternals |
| 942 | ( |
no test coverage detected