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';
export class Member {
name: string;
type: TypeRef;
type?: TypeRef;
doc: Doc;
parameters: Parameter[];
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 {
var params: Parameter[] = [];
var doc: Doc = undefined;
var name: string = json.name as string;
if (json.doc) {
doc = Doc.fromJson(json.doc);
}
if (json.params) {
params = json.params as Parameter[];
params = json.params.map(param => Parameter.fromJson(param));
}
var throws: TypeRef[] = undefined;
if (json.throws) {
throws = (json.throws as TypeRef[]).map(TypeRef.fromJson);
}
if (json.type) {
return Object.assign({}, json, {
type: TypeRef.fromJson(json.type),
parameters: params.map(param => Parameter.fromJson(param)),
doc: doc,
throws: throws,
});
return new Member(name,
TypeRef.fromJson(json.type),
doc,
params,
throws);
} else {
return Object.assign({}, json, {
parameters: params.map(param => Parameter.fromJson(param)),
doc: doc,
throws: throws,
});
return new Member(name,
undefined,
doc,
params,
throws);
}
}
}
......@@ -109,7 +109,7 @@
<p *ngIf="member.doc" [innerHTML]="member.doc.description"></p>
<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><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>
</div>
</details>
......
export class TypeRef {
name: string;
id: string;
id?: string;
args: TypeRef[];
constructor(name: string, id: string, args: TypeRef[]) {
this.name = name;
this.id = id;
this.args = args;
}
static fromJson(json: any): TypeRef {
var args: TypeRef[] = undefined;
if (json.a) {
......@@ -11,25 +17,13 @@ export class TypeRef {
if (json.u) {
// User type.
if (json.i) {
return {
name: json.u,
id: TypeRef.typeId(json.u, json.i),
args: args,
};
return new TypeRef(json.u, TypeRef.typeId(json.u, json.i), args);
} else {
return {
name: json.u,
id: TypeRef.simpleName(json.u),
args: args,
};
return new TypeRef(json.u, TypeRef.simpleName(json.u), args);
}
} else {
// Library or built-in type.
return {
name: json.n,
id: undefined,
args: args,
};
return new TypeRef(json.n, undefined, args);
}
}
......@@ -48,6 +42,10 @@ export class TypeRef {
}
}
get isVoid(): boolean {
return this.name == 'void';
}
static typeId(name: string, idPattern: string): string {
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