mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 00:52:16 +00:00
record two-way inheritance links
[SVN r12169]
This commit is contained in:
@@ -24,6 +24,7 @@ rule class ( name : bases * )
|
||||
{
|
||||
# This is a record of the class' base classes
|
||||
module local __bases__ = $(bases) ;
|
||||
module local __derived__ = ;
|
||||
|
||||
# always bring in the rules defined from this module, so that
|
||||
# users can easily call "inherit", for example.
|
||||
@@ -47,6 +48,12 @@ rule class ( name : bases * )
|
||||
# ECHO import __init__ from module class@$(base) into class@$(name) as $(base).__init__ ;
|
||||
IMPORT class@$(base) : __init__ : class@$(name) : $(base).__init__ ;
|
||||
EXPORT class@$(name) : $(base).__init__ ;
|
||||
module class@$(base)
|
||||
{
|
||||
# not using symbolic name "name" here because it might
|
||||
# be a module-local variable
|
||||
__derived__ += $(1) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ rule class ( name : bases * )
|
||||
{
|
||||
# This is a record of the class' base classes
|
||||
module local __bases__ = $(bases) ;
|
||||
module local __derived__ = ;
|
||||
|
||||
# always bring in the rules defined from this module, so that
|
||||
# users can easily call "inherit", for example.
|
||||
@@ -47,6 +48,12 @@ rule class ( name : bases * )
|
||||
# ECHO import __init__ from module class@$(base) into class@$(name) as $(base).__init__ ;
|
||||
IMPORT class@$(base) : __init__ : class@$(name) : $(base).__init__ ;
|
||||
EXPORT class@$(name) : $(base).__init__ ;
|
||||
module class@$(base)
|
||||
{
|
||||
# not using symbolic name "name" here because it might
|
||||
# be a module-local variable
|
||||
__derived__ += $(1) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user