code: def getGDEFGlyphClasses(feaLib):
      
      for st in feaLib.statements:
          if isinstance(st, ast.TableBlock) and st.name == "GDEF":
              for st in st.statements:
                  if isinstance(st, ast.GlyphClassDefStatement):
                      return _GDEFGlyphClasses(
                          frozenset(st.baseGlyphs.glyphSet())
                          if st.baseGlyphs is not None
                          else frozenset(),
                          frozenset(st.ligatureGlyphs.glyphSet())
                          if st.ligatureGlyphs is not None
                          else frozenset(),
                          frozenset(st.markGlyphs.glyphSet())
                          if st.markGlyphs is not None
                          else frozenset(),
                          frozenset(st.componentGlyphs.glyphSet())
                          if st.componentGlyphs is not None
                          else frozenset(),
                      )
      return _GDEFGlyphClasses(None, None, None, None)
docs: Return GDEF GlyphClassDef base/mark/ligature/component glyphs, or
      None if no GDEF table is defined in the feature file.