in src/langs/swift/combinator.js [607:631]
grammerCall(emitter, gram) {
if (gram.type === 'sys_func' || gram.type === 'method') {
if (gram.isAsync) {
emitter.emit('try await ');
} else if (gram.hasThrow) {
emitter.emit('try ');
}
const resolve_method = _resolveGrammerCall(gram, this.dependencies);
if (resolve_method !== null) {
if (!modules[resolve_method]) {
debug.stack(`Unsupported method : ${resolve_method}`);
}
modules[resolve_method].call(this, emitter, gram);
return;
}
let params = gram.params.length > 0 ? this.resolveParams(gram.params, gram.isStatic) : '';
emitter.emit(this.resolveCallPath(gram.path, params, gram));
} else if (gram.type === 'prop' || gram.type === 'key') {
emitter.emit(this.resolveCallPath(gram.path, '', gram));
} else if (gram.type === 'super') {
emitter.emit(`try super.init(${this.resolveParams(gram.params)})`);
} else {
debug.stack(gram);
}
}