in src/langs/cpp/combinator.js [1288:1306]
grammerVar(emitter, gram, emitType = true) {
let name = gram.name ? gram.name : gram.key;
name = _name(name);
if (gram.varType === 'static_class') {
emitter.emit(`${name}::class`);
} else if (gram.varType === 'var' || gram.varType === 'const') {
if (!this.hasStatement(name) && emitType) {
emitter.emit(`shared_ptr<${this.emitType(gram.type)}> ${name}`);
this.addStatement(name, gram.type, true);
} else {
emitter.emit(`${name}`);
}
if (!this.hasStatement(name)) {
this.addStatement(name, gram.type);
}
} else {
debug.stack(gram);
}
}