/** 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 }
/** Add a token to the list of unresolved references */ void addUnresolved(JavaToken t) { // be lazy in our creation of the reference vector // (many definitions might not contain refs to other symbols) if (unresolvedStuff == null) unresolvedStuff = new JavaVector(); unresolvedStuff.addElement(t); }