| 826 | |
| 827 | |
| 828 | void cSemanticASTVisitor::VisitVariableReference(cASTVariableReference& node) |
| 829 | { |
| 830 | if (m_fun_def_arg) { |
| 831 | SEMANTIC_ERROR(FUNCTION_DEFAULT_VARIABLE_REF_INVALID); |
| 832 | return; |
| 833 | } |
| 834 | |
| 835 | int var_id = -1; |
| 836 | bool global = false; |
| 837 | if (lookupVariable(node.GetName(), var_id, global)) { |
| 838 | node.SetVar(var_id, global); |
| 839 | node.SetType(m_cur_symtbl->GetVariableType(var_id)); |
| 840 | } else { |
| 841 | SEMANTIC_ERROR(VARIABLE_UNDEFINED, (const char*)node.GetName()); |
| 842 | } |
| 843 | } |
| 844 | |
| 845 | |
| 846 | void cSemanticASTVisitor::VisitUnpackTarget(cASTUnpackTarget& node) |