/** Resolve referenced names */ void resolveTypes(SymbolTable symbolTable) { symbolTable.pushScope(this); // push the current scope elements.resolveTypes(symbolTable); // resolve elements in this scope if (unresolvedStuff != null) { // resolve refs to other syms unresolvedStuff.resolveRefs(symbolTable); unresolvedStuff = null; } symbolTable.popScope(); // pop back out of the scope super.resolveTypes(symbolTable); // let superclass resolve if needed }