FullNameProvider

io.joern.c2cpg.astcreation.FullNameProvider
See theFullNameProvider companion trait

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

final case class MethodFullNameInfo(name: String, fullName: String, signature: String, returnType: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeFullNameInfo(name: String, fullName: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Types

type MethodLike = IASTFunctionDeclarator | IASTFunctionDefinition | ICPPASTLambdaExpression

Value members

Concrete methods

def stripTemplateTags(input: String): String

Removes template type parameters from qualified names while preserving special tags.

Removes template type parameters from qualified names while preserving special tags.

This method strips the angle brackets and their contents from type names, which is useful for simplifying complex templated type names. It preserves certain special tags that are enclosed in angle brackets (like <lambda>, <const>, etc.) to maintain semantic meaning.

Examples:

stripTemplateTags("std::vector<int>") == "std::vector"
stripTemplateTags("Foo.Bar<T>.<lambda>1") == "Foo.Bar.<lambda>1" // preserves the special <lambda> tag
stripTemplateTags("std::map<std::string, std::vector<int>>") == "std::map" // removes nested template parameters

Value parameters

input

The input string that may contain template tags

Attributes

Returns

The string with template tags removed but special tags preserved