ASTUserClass extends ApexRootNode<UserClass> implements ASTUserClassOrInterface<UserClass>,
       CanSuppressWarnings { public String getSuperClassName() { return node.getDefiningType().getCodeUnitDetails().getSuperTypeRef().map(TypeRef::getNames) .map(it -> it.stream().map(Identifier::getValue).collect(Collectors.joining("."))) .orElse(""); } @Deprecated @InternalApi  ASTUserClass(UserClass userClass); @Override Object jjtAccept(ApexParserVisitor visitor, Object data); @Override String getImage(); @Override ApexQualifiedName getQualifiedName(); @Override TypeKind getTypeKind(); @Override boolean hasSuppressWarningsAnnotationFor(Rule rule); ASTModifierNode getModifiers(); String getSuperClassName(); List<String> getInterfaceNames();  }
@Test public void testSuperClassName() { ApexNode<?> node = parse("public class AccountTriggerHandler extends TriggerHandler {}"); Assert.assertSame(ASTUserClass.class, node.getClass()); ASTUserClass toplevel = (ASTUserClass) node; Assert.assertEquals("TriggerHandler", toplevel.getSuperClassName()); }
@Test public void testSuperClassName2() { ApexNode<?> node = parse("public class AccountTriggerHandler extends Other.TriggerHandler {}"); Assert.assertSame(ASTUserClass.class, node.getClass()); ASTUserClass toplevel = (ASTUserClass) node; Assert.assertEquals("Other.TriggerHandler", toplevel.getSuperClassName()); }