diff --git a/cc/object.go b/cc/object.go
index 456e1bb..fbb7b7f 100644
--- a/cc/object.go
+++ b/cc/object.go
@@ -46,18 +46,18 @@
 	panic(fmt.Errorf("appendLdflags on object Linker not supported"))
 }
 
-func (object *objectLinker) props() []interface{} {
+func (object *objectLinker) linkerProps() []interface{} {
 	return []interface{}{&object.Properties}
 }
 
-func (*objectLinker) begin(ctx BaseModuleContext) {}
+func (*objectLinker) linkerInit(ctx BaseModuleContext) {}
 
-func (object *objectLinker) deps(ctx BaseModuleContext, deps Deps) Deps {
+func (object *objectLinker) linkerDeps(ctx BaseModuleContext, deps Deps) Deps {
 	deps.ObjFiles = append(deps.ObjFiles, object.Properties.Objs...)
 	return deps
 }
 
-func (*objectLinker) flags(ctx ModuleContext, flags Flags) Flags {
+func (*objectLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags {
 	if flags.Clang {
 		flags.LdFlags = append(flags.LdFlags, ctx.toolchain().ToolchainClangLdflags())
 	} else {
