pycodeanalyzer.core.languages.analyzers.pythonanalyzer

Summary

Classes:

PythonAnalyzer

Python Analyzer.

Diagrams

PythonAnalyzer

classDiagram class PythonAnalyzer { <<Class>> + List~str~ globalImports +Constructor() None +analyze(str rootDir, str path) List~AbstractObject~ +handleEnum(str path, str namespace, ClassDef item, List~AbstractObject~ abstractObjects) None +handleClass(str path, str namespace, ClassDef item, List~AbstractObject~ abstractObjects) None +isEnumType(str type) bool +handleFunction(str path, str namespace, FunctionDef item, List~AbstractObject~ abstractObjects) None +handleMembers(Any func, AbstractClass abstraction) None +deduceType(FunctionDef func, Assign item) str +deduceReturnType(Any returnItem) str +deduceTypeFromTypeName(Name item) str +deduceTypeFromName(FunctionDef func, Name item) str +deduceTypeFromTuple(Tuple item) str +deduceTypeFromList(typeList item) str +deduceTypeFromDict(Dict item) str +deduceTypeFromConst(Const item) str +handleTypeAnnotation(Any typeNope) str +deduceNamespaceFromAttribute(Attribute attrib, bool isRoot) str +deduceNamespace(str path, str rootDir) str +getImportsNameSpace(Any item) List~str~ } class Analyzer { <<Class>> + Any logger +Constructor(str name) None +analyze(str rootDir, str path) List~AbstractObject~ } link Analyzer "class££pycodeanalyzer::core::languages::analyzer::Analyzer" class AbstractObject { <<Class>> + str name + str type + str origin + List~str~ usingNS + AbstractObjectLanguage objectLanguage + List~str~ linkedGenericTypes +Constructor(str name, str origin) None +addUsingNamespace(str namespace) None } link AbstractObject "class££pycodeanalyzer::core::abstraction::objects::AbstractObject" class ClassDef <<External>> ClassDef class FunctionDef <<External>> FunctionDef class AbstractClass { <<Class>> + str namespace + str type + List&lt;Tuple&lt;str,str,str&gt;&gt; members + List&lt;Tuple&lt;str,str,List&lt;Tuple&lt;str,str&gt;&gt;,str&gt;&gt; methodes + List&lt;Tuple&lt;str,str,str&gt;&gt; parents + List~str~ linkedGenericTypes + List~AbstractClassClassifier~ classifiers +Constructor(str name, str namespace, str origin) None +addGenericType(str genType) None +addMember(str type, str name, str visibility) None +hasMember(str name) bool +addMethod(str returnType, str name, List&lt;Tuple&lt;str,str&gt;&gt; parameters, str visibility) None +addParent(str completetype, str name, str visibility) None +addClassifier(AbstractClassClassifier classifier) None +getMainClassifier() str +getLinkedTypes() List~str~ -isPotentialClassName(str type) bool -getDependanceFromType(str type) List~str~ -splitTypes(Any decl) List~str~ +getFullName() str -cleanLanguageArtifacts(str type) str -removeNonObjectTypes(List~str~ typeList) List~str~ +isParent(AbstractClass klass) bool +print() None } link AbstractClass "class££pycodeanalyzer::core::abstraction::objects::AbstractClass" class Assign <<External>> Assign class Name <<External>> Name class typeList <<External>> typeList class Const <<External>> Const class Attribute <<External>> Attribute PythonAnalyzer --|> Analyzer PythonAnalyzer ..> AbstractObject PythonAnalyzer ..> ClassDef PythonAnalyzer ..> FunctionDef PythonAnalyzer ..> AbstractClass PythonAnalyzer ..> Assign PythonAnalyzer ..> Name PythonAnalyzer ..> typeList PythonAnalyzer ..> Const PythonAnalyzer ..> Attribute

PythonAnalyzer class diagram

Reference

class pycodeanalyzer.core.languages.analyzers.pythonanalyzer.PythonAnalyzer[source]

Bases: pycodeanalyzer.core.languages.analyzer.Analyzer

Python Analyzer.

Handle Python code using astroid

analyze(rootDir: str, path: str) List[pycodeanalyzer.core.abstraction.objects.AbstractObject][source]
handleEnum(path: str, namespace: str, item: astroid.nodes.scoped_nodes.scoped_nodes.ClassDef, abstractObjects: List[pycodeanalyzer.core.abstraction.objects.AbstractObject]) None[source]
handleClass(path: str, namespace: str, item: astroid.nodes.scoped_nodes.scoped_nodes.ClassDef, abstractObjects: List[pycodeanalyzer.core.abstraction.objects.AbstractObject]) None[source]
isEnumType(type: str) bool[source]
handleFunction(path: str, namespace: str, item: astroid.nodes.scoped_nodes.scoped_nodes.FunctionDef, abstractObjects: List[pycodeanalyzer.core.abstraction.objects.AbstractObject]) None[source]
handleMembers(func: Any, abstraction: pycodeanalyzer.core.abstraction.objects.AbstractClass) None[source]
deduceType(func: astroid.nodes.scoped_nodes.scoped_nodes.FunctionDef, item: astroid.nodes.node_classes.Assign) str[source]
deduceReturnType(returnItem: Any) str[source]
deduceTypeFromTypeName(item: astroid.nodes.node_classes.Name) str[source]
deduceTypeFromName(func: astroid.nodes.scoped_nodes.scoped_nodes.FunctionDef, item: astroid.nodes.node_classes.Name) str[source]
deduceTypeFromTuple(item: astroid.nodes.node_classes.Tuple) str[source]
deduceTypeFromList(item: astroid.nodes.node_classes.List) str[source]
deduceTypeFromDict(item: astroid.nodes.node_classes.Dict) str[source]
deduceTypeFromConst(item: astroid.nodes.node_classes.Const) str[source]
handleTypeAnnotation(typeNope: Any) str[source]
deduceNamespaceFromAttribute(attrib: astroid.nodes.node_classes.Attribute, isRoot: bool = True) str[source]
deduceNamespace(path: str, rootDir: str) str[source]
getImportsNameSpace(item: Any) List[str][source]

This file was automatically generated using better_apidoc.