ASTUserClass extends ApexRootNode<UserClass> implements ASTUserClassOrInterface<UserClass>,
       CanSuppressWarnings { public List<String> getInterfaceNames() { return node.getDefiningType().getCodeUnitDetails().getInterfaceTypeRefs().stream() .map(TypeRef::getNames).map(it -> it.stream().map(Identifier::getValue).collect(Collectors.joining("."))) .collect(Collectors.toList()); } @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 testInterfaces() { ApexNode<?> node = parse("public class AccountTriggerHandler implements TriggerHandler, Other.Interface2 {}"); Assert.assertSame(ASTUserClass.class, node.getClass()); ASTUserClass toplevel = (ASTUserClass) node; Assert.assertEquals(Arrays.asList("TriggerHandler", "Other.Interface2"), toplevel.getInterfaceNames()); }