X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/abbc64cf04a35ab3549d5c516f44c7c5921baa63..8f0bedf735fe2b306c11c3f4a168245a05e37ccd:/BlockParameterGeneric.cpp diff --git a/BlockParameterGeneric.cpp b/BlockParameterGeneric.cpp index 5b15eb9..d652c37 100644 --- a/BlockParameterGeneric.cpp +++ b/BlockParameterGeneric.cpp @@ -7,6 +7,9 @@ BlockParameterGeneric::BlockParameterGeneric() : BlockParameter() { } BlockParameterGeneric::BlockParameterGeneric(AbstractBlock* _owner, const QString &_name, const QString &_type, const QString &_value) : BlockParameter(_owner, _name, _type, _value) { + /* CAUTION: no check done on the type parameter ! + * It must never be "expression" but something that is numeric/boolean + */ userValue = defaultValue; } @@ -57,22 +60,25 @@ QString BlockParameterGeneric::toVHDL(int context, int flags) { } if (!userValue.isNull()) { - ret = formatValue.arg(name).arg(type).arg(userValue.toString()); + ret = formatValue.arg(name).arg(getTypeString()).arg(userValue.toString()); } else if (!defaultValue.isNull()) { - ret = formatValue.arg(name).arg(type).arg(defaultValue.toString()); + ret = formatValue.arg(name).arg(getTypeString()).arg(defaultValue.toString()); } else { - ret = formatNoValue.arg(name).arg(type); + ret = formatNoValue.arg(name).arg(getTypeString()); } } - else if (context == BlockParameter::Architecture) { + else if (context == BlockParameter::Instance) { QString format = "%1 => %2"; if ((flags & BlockParameter::NoComma) == 0) { format.append(";"); } AbstractBlock* parent = owner->getParent(); - BlockParameter* p = parent->getParameterFromName(name); + BlockParameter* p = NULL; + if (parent != NULL) { + p = parent->getParameterFromName(name); + } if (p != NULL) { /* the parent group has a generic parameter with the same name