Class SymbolImpl

    • Field Detail

      • validForPythonVersions

        protected Set<String> validForPythonVersions
    • Method Detail

      • addChildSymbol

        public void addChildSymbol​(Symbol symbol)
      • inferredType

        public InferredType inferredType()
        Note that, for symbols that have been deserialized from protobuf, we compute their type lazily.
           a_var : Foo
           ...
           class Foo: ...
         
        Here, a_var has type Foo, which is defined later. Hence, by resolving types lazily, we avoid having to topologically sort dependencies between types declaration and their usages.
      • setInferredType

        public void setInferredType​(InferredType inferredType)
      • annotatedTypeName

        public String annotatedTypeName()
        Description copied from interface: Symbol
        Returns fully qualified name of the type if any
        Specified by:
        annotatedTypeName in interface Symbol
      • setAnnotatedTypeName

        public void setAnnotatedTypeName​(TypeAnnotation typeAnnotation)
      • copyWithoutUsages

        public SymbolImpl copyWithoutUsages()
      • removeUsages

        public void removeUsages()
      • getChildrenSymbolByName

        public Map<String,​Symbol> getChildrenSymbolByName()
      • validForPythonVersions

        public Set<String> validForPythonVersions()