@Override protected Element internalLookup( Identifier identifier, String name, LibraryElement referencingLibrary) { Element element = localLookup(name, referencingLibrary); if (element != null) { return element; } // May be there is a hidden Element. if (hasHiddenName) { Element hiddenElement = hiddenElements.get(name); if (hiddenElement != null) { getErrorListener() .onError( new AnalysisError( getSource(identifier), identifier.getOffset(), identifier.getLength(), CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION)); return hiddenElement; } } // Check enclosing scope. return enclosingScope.internalLookup(identifier, name, referencingLibrary); }