in src/langs/cpp/combinator.js [1235:1263]
isPointerVar(gram, ignore_to_map = false) {
if (gram instanceof GrammerValue) {
if (gram.type === 'null') {
return false;
}
}
let grammerVar;
if (gram instanceof GrammerVar) {
grammerVar = gram;
}
if (gram instanceof GrammerValue) {
if (gram.type === 'var' && gram.value instanceof GrammerVar) {
grammerVar = gram.value;
} else if (gram.type === 'call' && gram.value instanceof GrammerCall) {
grammerVar = gram.value;
} else if (ignore_to_map && gram.type === 'behavior' && gram.value instanceof BehaviorToMap) {
grammerVar = gram.value.grammer;
}
}
if (grammerVar && grammerVar instanceof GrammerVar) {
let name = grammerVar.name ? _name(grammerVar.name) : '';
if (this.isPtrStatement(name)) {
return true;
}
} else if (grammerVar instanceof GrammerCall) {
return this.isPointerPath(grammerVar.path.length - 1, grammerVar.path);
}
return false;
}