ASTUserInterface extends ApexRootNode<UserInterface> implements ASTUserClassOrInterface<UserInterface>,
       CanSuppressWarnings { public String getSuperInterfaceName() { return node.getDefiningType().getCodeUnitDetails().getInterfaceTypeRefs().stream().map(TypeRef::getNames) .map(it -> it.stream().map(Identifier::getValue).collect(Collectors.joining("."))) .findFirst().orElse(""); } @Deprecated @InternalApi  ASTUserInterface(UserInterface userInterface); @Override Object jjtAccept(ApexParserVisitor visitor, Object data); @Override String getImage(); @Override TypeKind getTypeKind(); @Override ApexQualifiedName getQualifiedName(); @Override boolean hasSuppressWarningsAnnotationFor(Rule rule); ASTModifierNode getModifiers(); String getSuperInterfaceName();  }
@Test public void testSuperInterface() { ApexNode<?> node = parse("public interface CustomInterface extends A {}"); Assert.assertSame(ASTUserInterface.class, node.getClass()); ASTUserInterface toplevel = (ASTUserInterface) node; Assert.assertEquals("A", toplevel.getSuperInterfaceName()); }
@Test public void testSuperInterface2() { ApexNode<?> node = parse("public interface CustomInterface extends Other.A {}"); Assert.assertSame(ASTUserInterface.class, node.getClass()); ASTUserInterface toplevel = (ASTUserInterface) node; Assert.assertEquals("Other.A", toplevel.getSuperInterfaceName()); }