From 90ccd37d9076bef08cb7fe5d857a4457001d41d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20=C3=96qvist?= <jesper.oqvist@cs.lth.se> Date: Thu, 22 Mar 2018 13:29:03 +0100 Subject: [PATCH] Fix crash when displaying ASTNode --- src/app/ast-decl/ast-decl.component.ts | 2 +- src/app/ast-decl/ast-decl.ts | 2 +- src/app/type-ref.component.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/ast-decl/ast-decl.component.ts b/src/app/ast-decl/ast-decl.component.ts index 291aa19..e42265f 100644 --- a/src/app/ast-decl/ast-decl.component.ts +++ b/src/app/ast-decl/ast-decl.component.ts @@ -17,7 +17,7 @@ import {AstDecl} from './ast-decl'; `], template: ` <p *ngIf="decl">JastAdd production: <br> - <div class="ast-decl">{{decl.name}}: <type-ref [type]="decl.extends"></type-ref><!-- + <div class="ast-decl">{{decl.name}}<ng-container *ngIf="decl.extends">: <type-ref [type]="decl.extends"></type-ref></ng-container><!-- --><ng-container *ngIf="decl.components"> ::= <!-- --><ng-container *ngFor="let comp of decl.components"><!-- --><div class="ast-component"><!-- diff --git a/src/app/ast-decl/ast-decl.ts b/src/app/ast-decl/ast-decl.ts index 46c476d..aa46f36 100644 --- a/src/app/ast-decl/ast-decl.ts +++ b/src/app/ast-decl/ast-decl.ts @@ -3,7 +3,7 @@ import {AstComponent} from './ast-component'; export class AstDecl { name: string; - extends: TypeRef; + extends?: TypeRef; components?: AstComponent[]; static fromJson(json: any): AstDecl { diff --git a/src/app/type-ref.component.ts b/src/app/type-ref.component.ts index 34ad060..92545d2 100644 --- a/src/app/type-ref.component.ts +++ b/src/app/type-ref.component.ts @@ -18,11 +18,11 @@ import { MemberFilterService } from './member-filter.service'; color: #444; } `], - template: `<a *ngIf="type.id; else elseBlock" class="usertype" [routerLink]="['/type', type.id]" (click)="onClick()">{{getName()}}</a><!-- + template: `<ng-container *ngIf="type;else notype"><a *ngIf="type.id; else elseBlock" class="usertype" [routerLink]="['/type', type.id]" (click)="onClick()">{{getName()}}</a><!-- --><ng-template #elseBlock><span class="non-usertype">{{getName()}}</span></ng-template><!-- --><ng-container *ngIf="type.args && !name"><!-- --><<ng-container *ngFor="let arg of type.args; let isLast=last"><type-ref [type]="arg"></type-ref><div *ngIf="!isLast" class="sep">,</div></ng-container>><!-- - --></ng-container>` + --></ng-container></ng-container><ng-template #notype>Unknown Type</ng-template>` }) export class TypeReferenceComponent { @Input() type : Type; -- GitLab