Skip to content
Snippets Groups Projects
Commit db201edb authored by Jesper's avatar Jesper
Browse files

Don't display return type if void

parent 11f7a1c3
No related branches found
No related tags found
No related merge requests found
...@@ -4,37 +4,50 @@ import {TypeRef} from './type-ref'; ...@@ -4,37 +4,50 @@ import {TypeRef} from './type-ref';
export class Member { export class Member {
name: string; name: string;
type: TypeRef; type?: TypeRef;
doc: Doc; doc: Doc;
parameters: Parameter[]; parameters: Parameter[];
throws: TypeRef[]; throws: TypeRef[];
constructor(name: string, type: TypeRef, doc: Doc, parameters: Parameter[],
throws: TypeRef[]) {
this.name = name;
this.type = type;
this.doc = doc;
this.parameters = parameters;
this.throws = throws;
}
get isVoid(): boolean {
return this.type.isVoid;
}
static fromJson(json: any): Member { static fromJson(json: any): Member {
var params: Parameter[] = []; var params: Parameter[] = [];
var doc: Doc = undefined; var doc: Doc = undefined;
var name: string = json.name as string;
if (json.doc) { if (json.doc) {
doc = Doc.fromJson(json.doc); doc = Doc.fromJson(json.doc);
} }
if (json.params) { if (json.params) {
params = json.params as Parameter[]; params = json.params.map(param => Parameter.fromJson(param));
} }
var throws: TypeRef[] = undefined; var throws: TypeRef[] = undefined;
if (json.throws) { if (json.throws) {
throws = (json.throws as TypeRef[]).map(TypeRef.fromJson); throws = (json.throws as TypeRef[]).map(TypeRef.fromJson);
} }
if (json.type) { if (json.type) {
return Object.assign({}, json, { return new Member(name,
type: TypeRef.fromJson(json.type), TypeRef.fromJson(json.type),
parameters: params.map(param => Parameter.fromJson(param)), doc,
doc: doc, params,
throws: throws, throws);
});
} else { } else {
return Object.assign({}, json, { return new Member(name,
parameters: params.map(param => Parameter.fromJson(param)), undefined,
doc: doc, doc,
throws: throws, params,
}); throws);
} }
} }
} }
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
<p *ngIf="member.doc" [innerHTML]="member.doc.description"></p> <p *ngIf="member.doc" [innerHTML]="member.doc.description"></p>
<p *ngIf="member.doc && member.doc.ragFile"><declared-at [doc]="member.doc"></declared-at> <p *ngIf="member.doc && member.doc.ragFile"><declared-at [doc]="member.doc"></declared-at>
<p *ngFor="let param of member.parameters; let index = index"><b>Parameter {{index+1}}</b> <type-ref [type]="param.type"></type-ref> <b>{{param.name}}</b><span *ngIf="member.doc" [innerHTML]="paramDesc(member.doc, param.name)"></span></p> <p *ngFor="let param of member.parameters; let index = index"><b>Parameter {{index+1}}</b> <type-ref [type]="param.type"></type-ref> <b>{{param.name}}</b><span *ngIf="member.doc" [innerHTML]="paramDesc(member.doc, param.name)"></span></p>
<p><b>Returns</b> <type-ref [type]="member.type"></type-ref><ng-container *ngIf="member.doc && member.doc.return"> : <span class="return" *ngIf="member.doc" [innerHTML]="member.doc.return"></span></ng-container> <p *ngIf="!member.isVoid"><b>Returns</b> <type-ref [type]="member.type"></type-ref><ng-container *ngIf="member.doc && member.doc.return"> : <span class="return" *ngIf="member.doc" [innerHTML]="member.doc.return"></span></ng-container>
<p *ngIf="member.throws">Throws <ng-container *ngFor="let excp of member.throws; let isLast=last"><type-ref [type]="excp"></type-ref><div *ngIf="!isLast" class="sep">, </div></ng-container></p> <p *ngIf="member.throws">Throws <ng-container *ngFor="let excp of member.throws; let isLast=last"><type-ref [type]="excp"></type-ref><div *ngIf="!isLast" class="sep">, </div></ng-container></p>
</div> </div>
</details> </details>
......
export class TypeRef { export class TypeRef {
name: string; name: string;
id: string; id?: string;
args: TypeRef[]; args: TypeRef[];
constructor(name: string, id: string, args: TypeRef[]) {
this.name = name;
this.id = id;
this.args = args;
}
static fromJson(json: any): TypeRef { static fromJson(json: any): TypeRef {
var args: TypeRef[] = undefined; var args: TypeRef[] = undefined;
if (json.a) { if (json.a) {
...@@ -11,25 +17,13 @@ export class TypeRef { ...@@ -11,25 +17,13 @@ export class TypeRef {
if (json.u) { if (json.u) {
// User type. // User type.
if (json.i) { if (json.i) {
return { return new TypeRef(json.u, TypeRef.typeId(json.u, json.i), args);
name: json.u,
id: TypeRef.typeId(json.u, json.i),
args: args,
};
} else { } else {
return { return new TypeRef(json.u, TypeRef.simpleName(json.u), args);
name: json.u,
id: TypeRef.simpleName(json.u),
args: args,
};
} }
} else { } else {
// Library or built-in type. // Library or built-in type.
return { return new TypeRef(json.n, undefined, args);
name: json.n,
id: undefined,
args: args,
};
} }
} }
...@@ -48,6 +42,10 @@ export class TypeRef { ...@@ -48,6 +42,10 @@ export class TypeRef {
} }
} }
get isVoid(): boolean {
return this.name == 'void';
}
static typeId(name: string, idPattern: string): string { static typeId(name: string, idPattern: string): string {
return idPattern.replace('%', TypeRef.simpleName(name)); return idPattern.replace('%', TypeRef.simpleName(name));
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment