| 276 | } |
| 277 | |
| 278 | HashMap<VariableInfo*>::Node* SelectVariableByName(InplaceStr name) |
| 279 | { |
| 280 | VariableSelect f; |
| 281 | NamespaceSelect(name, f); |
| 282 | HashMap<VariableInfo*>::Node *curr = f.curr; |
| 283 | // In generic function instance, skip all variables that are defined after the base generic function |
| 284 | while(curr && currDefinedFunc.size() && currDefinedFunc.back()->genericBase && !(curr->value->pos >> 24) && !(curr->value->parentType) && (curr->value->isGlobal ? currDefinedFunc.back()->genericBase->globalVarTop <= curr->value->pos : (currDefinedFunc.back()->genericBase->blockDepth < curr->value->blockDepth && currDefinedFunc.back() != curr->value->parentFunction))) |
| 285 | curr = varMap.next(curr); |
| 286 | return curr; |
| 287 | } |
| 288 | |
| 289 | void AddInplaceVariable(const char* pos, TypeInfo* targetType = NULL); |
| 290 | void ConvertArrayToUnsized(const char* pos, TypeInfo *dstType); |
no test coverage detected