in src/langs/common/items.js [216:233]
constructor(type = 'method', path = [], params = [], returnType = null, hasThrow = false, isAsync = false, isStatic = false, isOptional = false) {
super();
this.type = type; // method | key | index | prop | sys_func | super
this.path = [];
path.forEach(p => {
this.addPath(p);
});
this.params = params;
if (returnType === null) {
returnType = new TypeVoid();
}
this.returnType = returnType; // TypeItem
this.hasThrow = hasThrow;
this.isAsync = isAsync;
this.isStatic = isStatic;
this.isOptional = isOptional;
assert.strictEqual(true, this.returnType instanceof TypeItem);
}