コード例 #1
0
ファイル: sctracker.c プロジェクト: Doldol/sourcemod
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);
}
コード例 #2
0
ファイル: sctracker.c プロジェクト: Doldol/sourcemod
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;
}
コード例 #3
0
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;
}