JavaNameProvider

org.combinators.ep.language.java.JavaNameProvider
object JavaNameProvider extends NameProvider[MangledName]

Provides name mangling for Java

Attributes

Graph
Supertypes
class NameProvider[MangledName]
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def addPrefix(prefix: String, name: MangledName): MangledName

Adds a prefix to the given name. The new name will be mangled if necessary.

Adds a prefix to the given name. The new name will be mangled if necessary.

Attributes

def addSuffix(name: MangledName, suffix: String): MangledName

Adds a suffix to the given name. The new name will be mangled if necessary.

Adds a suffix to the given name. The new name will be mangled if necessary.

Attributes

def mangle(name: String): MangledName

Need to have single-param version so this can be used in map.

Need to have single-param version so this can be used in map.

Attributes

def mangle(name: String, forbidden: Set[String]): MangledName

Tries to parse names as a simple Java name and mangles to the arabic number representation of the UTF-8 bytes in the given string, where each byte is prefixed by "_".

Tries to parse names as a simple Java name and mangles to the arabic number representation of the UTF-8 bytes in the given string, where each byte is prefixed by "_".

Example: {{ JavaNameProvider.mangle("foo") // returns "foo" JavaNameProvider.mangle("class") // returns "_99_108_97_115_115" because "class" is a reserved keyword }}

Attributes

Concrete fields

val parser: JavaParser