Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix invalid read
[simgrid.git] / src / instr / instr_paje_containers.cpp
index 2b16c72..0f9b0ce 100644 (file)
@@ -44,7 +44,7 @@ NetZoneContainer::NetZoneContainer(std::string name, unsigned int level, NetZone
     father_->children_.insert({getName(), this});
     logCreation();
   } else {
-    type_ = Type::createRootType();
+    type_         = new ContainerType("0");
     rootContainer = this;
   }
 }
@@ -225,5 +225,24 @@ void Container::logDestruction()
     THROW_IMPOSSIBLE;
   }
 }
+
+StateType* Container::getState(std::string name)
+{
+  StateType* ret = dynamic_cast<StateType*>(type_->byName(name));
+  ret->setCallingContainer(this);
+  return ret;
+}
+
+LinkType* Container::getLink(std::string name)
+{
+  return dynamic_cast<LinkType*>(type_->byName(name));
+}
+
+VariableType* Container::getVariable(std::string name)
+{
+  VariableType* ret = dynamic_cast<VariableType*>(type_->byName(name));
+  ret->setCallingContainer(this);
+  return ret;
+}
 }
 }