JavaScript is disabled on your browser.
Skip navigation links
gnu.expr

Class Mangling



  • public class Mangling
    extends java.lang.Object
    Helper methods for mangling and demangling. "Mangling" is converting a user-level identifier to an internal system-level name, which may be restricted in allowed characters. "Demangling" is the inverse operation.
    • Field Summary

      Fields
      Modifier and Type Field and Description
      static boolean USE_SYMBOLIC
    • Constructor Summary

      Constructors
      Constructor and Description
      Mangling ()
    • Method Summary

      All Methods
      Modifier and Type Method and Description
      static char demangle2 (char char1, char char2)
      Demangle a three-character mangling starting with '$'.
      static java.lang.String demangleField (java.lang.String name)
      static java.lang.String demangleMethod (java.lang.String name)
      static java.lang.String demangleName (java.lang.String name, boolean reversible)
      static java.lang.String demangleQualifiedName (java.lang.String name)
      static java.lang.String demangleSymbolic (java.lang.String name)
      static java.lang.String mangleClassName (java.lang.String name)
      Mangle a simple class or package name.
      static java.lang.String mangleField (java.lang.String name)
      static java.lang.String mangleMethod (java.lang.String name)
      static java.lang.String mangleName (java.lang.String name)
      static java.lang.String mangleName (java.lang.String name, boolean reversible)
      Convert a string to a safe Java identifier.
      static java.lang.String mangleNameIfNeeded (java.lang.String name)
      static java.lang.String mangleQualifiedName (java.lang.String name)
      Mangle a possibly-qualified class name.
      static java.lang.String mangleSymbolic (java.lang.String name, char context, boolean force)
      Mangle according to John Rose's "Symbolic Freedom in the VM".
      static java.lang.String mangleVariable (java.lang.String name)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Mangling

        public Mangling()
    • Method Detail

      • mangleClassName

        public static java.lang.String mangleClassName(java.lang.String name)
        Mangle a simple class or package name. Does not handle qualified names.
      • mangleQualifiedName

        public static java.lang.String mangleQualifiedName(java.lang.String name)
        Mangle a possibly-qualified class name.
      • mangleVariable

        public static java.lang.String mangleVariable(java.lang.String name)
      • mangleField

        public static java.lang.String mangleField(java.lang.String name)
      • demangleField

        public static java.lang.String demangleField(java.lang.String name)
      • mangleMethod

        public static java.lang.String mangleMethod(java.lang.String name)
      • demangleMethod

        public static java.lang.String demangleMethod(java.lang.String name)
      • demangleQualifiedName

        public static java.lang.String demangleQualifiedName(java.lang.String name)
      • mangleSymbolic

        public static java.lang.String mangleSymbolic(java.lang.String name,
         char context,
         boolean force)
        Mangle according to John Rose's "Symbolic Freedom in the VM". See this article.
        Parameters:
        context - One of 'C' (class name); 'Q' (qualified name, with dots); 'F' (field name); 'M' (method name); 'V' (local variable name).
        force - True if should escape '\\' even if that is the only disallowed character. The may cause an already-mangled name to be doubly mangled.
      • demangleName

        public static java.lang.String demangleName(java.lang.String name,
         boolean reversible)
      • demangle2

        public static char demangle2(char char1,
         char char2)
        Demangle a three-character mangling starting with '$'. UNFINISHED!
      • demangleSymbolic

        public static java.lang.String demangleSymbolic(java.lang.String name)
      • mangleName

        public static java.lang.String mangleName(java.lang.String name)
      • mangleName

        public static java.lang.String mangleName(java.lang.String name,
         boolean reversible)
        Convert a string to a safe Java identifier.
        Parameters:
        reversible - if we should use an invertible mapping.
      • mangleNameIfNeeded

        public static java.lang.String mangleNameIfNeeded(java.lang.String name)
Skip navigation links

AltStyle によって変換されたページ (->オリジナル) /