Class SymbolUtils

java.lang.Object
org.sonar.python.semantic.SymbolUtils

public class SymbolUtils extends Object
  • Method Details

    • getModuleFileName

      public static String getModuleFileName(String fileName)
    • fullyQualifiedModuleName

      public static String fullyQualifiedModuleName(String packageName, String fileName)
    • assignmentsLhs

      public static List<Expression> assignmentsLhs(AssignmentStatement assignmentStatement)
    • boundNamesFromExpression

      public static List<Name> boundNamesFromExpression(@CheckForNull Tree tree)
    • pythonPackageName

      public static String pythonPackageName(File file, String projectBaseDirAbsolutePath)
    • pathOf

      @CheckForNull public static Path pathOf(PythonFile pythonFile)
    • firstParameterOffset

      public static int firstParameterOffset(FunctionSymbol functionSymbol, boolean isStaticCall)
      Returns:
      the offset between parameter position and argument position: 0 if there is no implicit first parameter (self, cls, etc...) 1 if there is an implicit first parameter -1 if unknown (intent is not clear from context)
    • getOverriddenMethod

      public static Optional<FunctionSymbol> getOverriddenMethod(FunctionSymbol functionSymbol)
    • getOverriddenMethods

      public static List<FunctionSymbol> getOverriddenMethods(FunctionSymbol functionSymbol)
    • getFunctionSymbols

      public static List<FunctionSymbol> getFunctionSymbols(@Nullable Symbol symbol)
    • getFirstAlternativeIfEqualArgumentNames

      public static Optional<FunctionSymbol> getFirstAlternativeIfEqualArgumentNames(List<FunctionSymbol> alternatives)
    • isEqualParameterCountAndNames

      public static boolean isEqualParameterCountAndNames(List<FunctionSymbol> alternatives)
    • canBeAnOverridingMethod

      public static boolean canBeAnOverridingMethod(@Nullable FunctionSymbol functionSymbol)
    • typeshedSymbolWithFQN

      public static Symbol typeshedSymbolWithFQN(String fullyQualifiedName)
    • flattenAmbiguousSymbols

      public static Set<Symbol> flattenAmbiguousSymbols(Set<Symbol> symbols)
    • isPrivateName

      public static boolean isPrivateName(String name)
    • qualifiedNameOrEmpty

      public static String qualifiedNameOrEmpty(CallExpression callExpression)