static folly::Optional globalKind()

in glean/lang/clang/ast.cpp [1251:1268]


    static folly::Optional<Cxx::GlobalVariableKind> globalKind(
        const clang::VarDecl *decl) {
      if (decl->isLocalVarDeclOrParm()) {
        return folly::none;
      }
      if (decl->isStaticDataMember()) {
        return Cxx::GlobalVariableKind::StaticMember;
      } else {
        switch (decl->getStorageClass()) {
          case clang::SC_None: return Cxx::GlobalVariableKind::SimpleVariable;
          case clang::SC_Extern: return Cxx::GlobalVariableKind::SimpleVariable;
          case clang::SC_Static: return Cxx::GlobalVariableKind::StaticVariable;
          case clang::SC_PrivateExtern: return folly::none;
          case clang::SC_Auto: return folly::none;
          case clang::SC_Register: return folly::none;
        }
      }
    }