@ -26,6 +26,9 @@ namespace storm {
if ( itFind ! = mElements . end ( ) ) {
if ( itFind ! = mElements . end ( ) ) {
// Child found
// Child found
DFTElementPointer childElement = itFind - > second ;
DFTElementPointer childElement = itFind - > second ;
STORM_LOG_THROW ( ! childElement - > isRestriction ( ) , storm : : exceptions : : WrongFormatException ,
" Restictor " < < childElement - > name ( ) < < " is not allowed as child of gate "
< < gate - > name ( ) ) ;
if ( ! childElement - > isDependency ( ) ) {
if ( ! childElement - > isDependency ( ) ) {
gate - > pushBackChild ( childElement ) ;
gate - > pushBackChild ( childElement ) ;
childElement - > addParent ( gate ) ;
childElement - > addParent ( gate ) ;
@ -82,14 +85,13 @@ namespace storm {
}
}
}
}
// Sort elements topologically
// Sort elements topologically
DFTElementVector elems = topoSort ( ) ;
// compute rank
// compute rank
for ( auto & elem : mElements ) {
for ( auto & elem : mElements ) {
computeRank ( elem . second ) ;
computeRank ( elem . second ) ;
}
}
DFTElementVector elems = topoSort ( ) ;
// Set ids
// Set ids
size_t id = 0 ;
size_t id = 0 ;
for ( DFTElementPointer e : elems ) {
for ( DFTElementPointer e : elems ) {