Package gnu.expr

Class NameLookup

    • Constructor Detail

      • NameLookup

        public NameLookup​(Language language)
    • Method Detail

      • getLanguage

        public Language getLanguage()
      • setLanguage

        public void setLanguage​(Language language)
      • getInstance

        public static NameLookup getInstance​(Environment env,
                                             Language language)
        Get or create a NameLookup instance for a given Environment. We want the same NameLookup instance to be used for multiple interactive commands in the same "session", to preserve top-level declarations. We do that by registering it in the Environment.
      • doSaveTopLevelRedefs

        public boolean doSaveTopLevelRedefs()
        When true, top-level defs should push rather then replace old ones. Otherwise, a module-level declaration should replace a matching previous declaration, to avoid leaks. However, sometimes we temporarily push new declarations that should not permanently replace old declarations - for example when a hygienic macro changes the current scope.
      • pushSaveTopLevelRedefs

        public void pushSaveTopLevelRedefs()
      • popSaveTopLevelRedefs

        public void popSaveTopLevelRedefs()
      • push

        public void push​(ScopeExp exp)
      • pop

        public void pop​(ScopeExp exp)
      • removeSubsumed

        public void removeSubsumed​(Declaration decl)
        Remove visible declarations subsumed (hidden) by a given declaration. This is primarily used to avoid memory leaks.
      • subsumedBy

        protected boolean subsumedBy​(Declaration decl,
                                     Declaration other)
        True if decl subsumes (hides) other.
      • getCompletingSymbols

        public void getCompletingSymbols​(String initialPart,
                                         int namespace,
                                         List<? super String> candidates)