methodmap_t *methodmap_find_by_name(const char *name) { int tag = pc_findtag(name); if (tag == -1) return NULL; return methodmap_find_by_tag(tag); }
LayoutSpec deduce_layout_spec_by_tag(int tag) { symbol *sym; const char *name; methodmap_t *map; if ((map = methodmap_find_by_tag(tag)) != NULL) return map->spec; if (tag & FUNCTAG) return Layout_FuncTag; name = pc_tagname(tag); if (pstructs_find(name)) return Layout_PawnStruct; if ((sym = findglb(name, sGLOBAL)) != NULL) return Layout_Enum; return Layout_None; }
LayoutSpec deduce_layout_spec_by_tag(int tag) { if (methodmap_t* map = methodmap_find_by_tag(tag)) return map->spec; Type* type = gTypes.find(tag); if (type && type->isFunction()) return Layout_FuncTag; if (type && type->isStruct()) return Layout_PawnStruct; const char* name = pc_tagname(tag); if (findglb(name)) return Layout_Enum; return Layout_None; }