Package org.sonar.python.semantic
Class ClassSymbolImpl
- java.lang.Object
-
- org.sonar.python.semantic.SymbolImpl
-
- org.sonar.python.semantic.ClassSymbolImpl
-
- All Implemented Interfaces:
ClassSymbol,Symbol
public class ClassSymbolImpl extends SymbolImpl implements ClassSymbol
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.sonar.plugins.python.api.symbols.Symbol
Symbol.Kind
-
-
Constructor Summary
Constructors Constructor Description ClassSymbolImpl(String name, String fullyQualifiedName)ClassSymbolImpl(String name, String fullyQualifiedName, LocationInFile definitionLocation, boolean hasDecorators, boolean hasMetaClass, String metaclassFQN, boolean supportsGenerics)ClassSymbolImpl(ClassDef classDef, String fullyQualifiedName, PythonFile pythonFile)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMembers(Collection<Symbol> members)voidaddSuperClass(Symbol symbol)booleancanBeOrExtend(String fullyQualifiedClassName)booleancanHaveMember(String memberName)Set<Symbol>declaredMembers()LocationInFiledefinitionLocation()booleanhasDecorators()booleanhasMetaClass()booleanhasSuperClassWithUnknownMetaClass()booleanhasUnresolvedTypeHierarchy()booleanhasUnresolvedTypeHierarchy(boolean includeAmbiguousSymbols)booleanisOrExtends(String fullyQualifiedClassName)booleanisOrExtends(ClassSymbol other)StringmetaclassFQN()voidremoveUsages()Optional<Symbol>resolveMember(String memberName)voidsetHasMetaClass()voidsetHasSuperClassWithoutSymbol()voidsetMetaclassFQN(String metaclassFQN)voidsetSupportsGenerics(boolean supportsGenerics)List<Symbol>superClasses()booleansupportsGenerics()-
Methods inherited from class org.sonar.python.semantic.SymbolImpl
annotatedTypeName, fullyQualifiedName, inferredType, is, kind, name, setAnnotatedTypeName, setInferredType, setKind, usages
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.sonar.plugins.python.api.symbols.Symbol
annotatedTypeName, fullyQualifiedName, is, kind, name, usages
-
-
-
-
Constructor Detail
-
ClassSymbolImpl
public ClassSymbolImpl(ClassDef classDef, @Nullable String fullyQualifiedName, PythonFile pythonFile)
-
-
Method Detail
-
superClasses
public List<Symbol> superClasses()
- Specified by:
superClassesin interfaceClassSymbol
-
addSuperClass
public void addSuperClass(Symbol symbol)
-
hasUnresolvedTypeHierarchy
public boolean hasUnresolvedTypeHierarchy()
- Specified by:
hasUnresolvedTypeHierarchyin interfaceClassSymbol
-
hasUnresolvedTypeHierarchy
public boolean hasUnresolvedTypeHierarchy(boolean includeAmbiguousSymbols)
-
declaredMembers
public Set<Symbol> declaredMembers()
- Specified by:
declaredMembersin interfaceClassSymbol
-
resolveMember
public Optional<Symbol> resolveMember(String memberName)
- Specified by:
resolveMemberin interfaceClassSymbol
-
hasMetaClass
public boolean hasMetaClass()
-
canHaveMember
public boolean canHaveMember(String memberName)
- Specified by:
canHaveMemberin interfaceClassSymbol
-
hasSuperClassWithUnknownMetaClass
public boolean hasSuperClassWithUnknownMetaClass()
-
definitionLocation
public LocationInFile definitionLocation()
- Specified by:
definitionLocationin interfaceClassSymbol
-
isOrExtends
public boolean isOrExtends(String fullyQualifiedClassName)
- Specified by:
isOrExtendsin interfaceClassSymbol
-
isOrExtends
public boolean isOrExtends(ClassSymbol other)
- Specified by:
isOrExtendsin interfaceClassSymbol
-
canBeOrExtend
public boolean canBeOrExtend(String fullyQualifiedClassName)
- Specified by:
canBeOrExtendin interfaceClassSymbol
-
hasDecorators
public boolean hasDecorators()
- Specified by:
hasDecoratorsin interfaceClassSymbol
-
addMembers
public void addMembers(Collection<Symbol> members)
-
setHasSuperClassWithoutSymbol
public void setHasSuperClassWithoutSymbol()
-
setHasMetaClass
public void setHasMetaClass()
-
setMetaclassFQN
public void setMetaclassFQN(String metaclassFQN)
-
metaclassFQN
@CheckForNull public String metaclassFQN()
-
removeUsages
public void removeUsages()
- Overrides:
removeUsagesin classSymbolImpl
-
supportsGenerics
public boolean supportsGenerics()
-
setSupportsGenerics
public void setSupportsGenerics(boolean supportsGenerics)
-
-