346
347
protected fillProblemData(data: IProblemData | undefined, pattern: IProblemPattern, matches: RegExpExecArray): data is IProblemData {
349
>
this.fillProperty(data, 'file', pattern, matches, true);
350
>
this.appendProperty(data, 'message', pattern, matches, true);
351
>
this.fillProperty(data, 'code', pattern, matches, true);
352
>
this.fillProperty(data, 'severity', pattern, matches, true);
353
>
this.fillProperty(data, 'location', pattern, matches, true);
354
>
this.fillProperty(data, 'line', pattern, matches);
355
>
this.fillProperty(data, 'character', pattern, matches);
356
>
this.fillProperty(data, 'endLine', pattern, matches);
357
>
this.fillProperty(data, 'endCharacter', pattern, matches);
358
>
return true;
359
>
} else {
360
return false;
361
}
363
364
private appendProperty(data: IProblemData, property: keyof IProblemData, pattern: IProblemPattern, matches: RegExpExecArray, trim: boolean = false): void {
366
>
if (Types.isUndefined(data[property])) {
367
>
this.fillProperty(data, property, pattern, matches, trim);
368
>
}
369
else if (!Types.isUndefined(patternProperty) && patternProperty < matches.length) {
370
let value = matches[patternProperty];