diff --git a/src/dichotomie.ts b/src/dichotomie.ts index d90fcf869e3742b3631f1205b13c1b235df96ff0..a4bb12e8e04646b726e915a0abc37f0fb5372df6 100644 --- a/src/dichotomie.ts +++ b/src/dichotomie.ts @@ -116,7 +116,7 @@ export class Dichotomie extends Debug { ); return new Result(new Message(MessageCode.ERROR_DICHO_CONVERGE, { lastApproximation: s.value - })); + }), this.nub); } } else { return new Result(r.res); diff --git a/src/prebarrage/pre_barrage.ts b/src/prebarrage/pre_barrage.ts index 79719f20578144d5cffa4f77706ab911ecbdf789..414fc7be568579c8838d416c09112d7a413683a1 100644 --- a/src/prebarrage/pre_barrage.ts +++ b/src/prebarrage/pre_barrage.ts @@ -430,7 +430,7 @@ export class PreBarrage extends Nub { } // console.debug(tQ); // console.debug(tZ1); - const r = new Result(this.prms.Z1.v); + const r = new Result(this.prms.Z1.v, this); if(!bConverged) { r.resultElement.addMessage(new Message(MessageCode.WARNING_PREBARRAGE_NON_CONVERGENCE, { precision: (z1stat.max - z1stat.min) diff --git a/src/util/log.ts b/src/util/log.ts index 2f5b9f4f4db6f18ebaac8c53e1cd3bcf3f8f611b..bc023847754979af04ff19ed797a518a859cdd70 100644 --- a/src/util/log.ts +++ b/src/util/log.ts @@ -26,7 +26,7 @@ export class cLog { public add(m: Message) { // add pointer to the current log as message's parent, unless the message // already has a parent, and unless the current log has no pointer to a result - if (m.parent === undefined && this.parent !== undefined) { + if (m.parent === undefined) { m.parent = this; } this._messages.push(m); diff --git a/src/util/message.ts b/src/util/message.ts index 2d032ccb25110013b1e2fc8bfbc33c6bdc0374a2..2010f77cc0db8eab192e4bb4f2d7158f446b8435 100644 --- a/src/util/message.ts +++ b/src/util/message.ts @@ -1,4 +1,5 @@ import { cLog } from "./log"; +import { Nub } from "../nub"; export enum MessageCode { @@ -739,7 +740,12 @@ export class Message { throw new Error("Message.getSeverity() : valeur de code '" + this._code + "' invalide"); } + public get sourceNub(): Nub { + return this.parent?.parent?.sourceNub; + } + public toString(): string { - return MessageCode[this._code] + " " + JSON.stringify(this.extraVar); + const sourceNub = this.sourceNub; + return MessageCode[this._code] + " " + JSON.stringify(this.extraVar) + (sourceNub === undefined ? "" : " parentnub " + sourceNub.constructor.name); } }