diff --git a/cc/cc.go b/cc/cc.go
index 7aa02fc..512fe8e 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -759,7 +759,7 @@
 	return inList(c.Name(), ndkMigratedLibs)
 }
 
-func (c *Module) IsLlndk(config android.Config) bool {
+func (c *Module) isLlndk(config android.Config) bool {
 	// Returns true for both LLNDK (public) and LLNDK-private libs.
 	return isLlndkLibrary(c.BaseModuleName(), config)
 }
@@ -999,7 +999,7 @@
 }
 
 func (ctx *moduleContextImpl) isLlndk(config android.Config) bool {
-	return ctx.mod.IsLlndk(config)
+	return ctx.mod.isLlndk(config)
 }
 
 func (ctx *moduleContextImpl) isLlndkPublic(config android.Config) bool {
@@ -1880,7 +1880,7 @@
 			return true
 		}
 
-		if to.isVndkSp() || to.IsLlndk(ctx.Config()) || Bool(to.VendorProperties.Double_loadable) {
+		if to.isVndkSp() || to.isLlndk(ctx.Config()) || Bool(to.VendorProperties.Double_loadable) {
 			return false
 		}
 
@@ -1895,7 +1895,7 @@
 	}
 	if module, ok := ctx.Module().(*Module); ok {
 		if lib, ok := module.linker.(*libraryDecorator); ok && lib.shared() {
-			if module.IsLlndk(ctx.Config()) || Bool(module.VendorProperties.Double_loadable) {
+			if module.isLlndk(ctx.Config()) || Bool(module.VendorProperties.Double_loadable) {
 				ctx.WalkDeps(check)
 			}
 		}
