in libredex/ProguardLexer.cpp [231:411]
std::string Token::show() const {
switch (type) {
case TokenType::openCurlyBracket:
return "{";
case TokenType::closeCurlyBracket:
return "}";
case TokenType::openBracket:
return "(";
case TokenType::closeBracket:
return ")";
case TokenType::semiColon:
return ";";
case TokenType::colon:
return ":";
case TokenType::notToken:
return "!";
case TokenType::comma:
return ",";
case TokenType::slash:
return "/";
case TokenType::classToken:
return "class";
case TokenType::publicToken:
return "public";
case TokenType::final:
return "final";
case TokenType::abstract:
return "abstract";
case TokenType::interface:
return "interface";
case TokenType::enumToken:
return "enum";
case TokenType::extends:
return "extends";
case TokenType::implements:
return "implements";
case TokenType::privateToken:
return "private";
case TokenType::protectedToken:
return "protected";
case TokenType::staticToken:
return "static";
case TokenType::volatileToken:
return "volatile";
case TokenType::transient:
return "transient";
case TokenType::annotation:
return "@interface";
case TokenType::annotation_application:
return "@";
case TokenType::synchronized:
return "synchronized";
case TokenType::native:
return "native";
case TokenType::strictfp:
return "strictfp";
case TokenType::synthetic:
return "synthetic";
case TokenType::bridge:
return "bridge";
case TokenType::varargs:
return "varargs";
case TokenType::command:
return "-" + std::string(data);
case TokenType::identifier:
return "identifier: " + std::string(data);
case TokenType::arrayType:
return "[]";
case TokenType::filepath:
return "filepath " + std::string(data);
case TokenType::target_version_token:
return std::string(data);
case TokenType::filter_pattern:
return "filter: " + std::string(data);
case TokenType::eof_token:
return "<EOF>";
case TokenType::comment:
return "#" + std::string(data);
// Input/Output Options
case TokenType::include:
return "-include";
case TokenType::basedirectory:
return "-basedirectory";
case TokenType::dump:
return "-dump";
case TokenType::injars:
return "-injars ";
case TokenType::outjars:
return "-outjars ";
case TokenType::libraryjars:
return "-libraryjars ";
case TokenType::keepdirectories:
return "-keepdirectories";
case TokenType::target:
return "-target ";
case TokenType::dontskipnonpubliclibraryclasses:
return "-dontskipnonpubliclibraryclasses";
// Keep Options
case TokenType::keep:
return "-keep";
case TokenType::keepclassmembers:
return "-keepclassmembers";
case TokenType::keepclasseswithmembers:
return "-keepclasseswithmembers";
case TokenType::keepnames:
return "-keepnames";
case TokenType::keepclassmembernames:
return "-keepclassmembernames";
case TokenType::keepclasseswithmembernames:
return "-keepclasseswithmembernames";
case TokenType::printseeds:
return "-printseeds ";
// Keep Option Modifiers
case TokenType::includedescriptorclasses_token:
return "includedescriptorclasses";
case TokenType::allowshrinking_token:
return "allowshrinking";
case TokenType::allowoptimization_token:
return "allowoptimization";
case TokenType::allowobfuscation_token:
return "allowobfuscation";
// Shrinking Options
case TokenType::dontshrink:
return "-dontshrink";
case TokenType::printusage:
return "-printusage";
case TokenType::whyareyoukeeping:
return "-whyareyoukeeping";
// Optimization Options
case TokenType::dontoptimize:
return "-dontoptimize";
case TokenType::optimizations:
return "-optimizations";
case TokenType::optimizationpasses:
return "-optimizationpasses";
case TokenType::assumenosideeffects:
return "-assumenosideeffects";
case TokenType::mergeinterfacesaggressively:
return "-mergeinterfacesaggressively";
case TokenType::allowaccessmodification_token:
return "-allowaccessmodification";
case TokenType::returns:
return "return";
// Obfuscation Options
case TokenType::dontobfuscate:
return "-dontobfuscate ";
case TokenType::printmapping:
return "-printmapping ";
case TokenType::repackageclasses:
return "-repackageclasses";
case TokenType::keepattributes:
return "-keepattributes";
case TokenType::dontusemixedcaseclassnames_token:
return "-dontusemixedcaseclassnames";
case TokenType::keeppackagenames:
return "-keeppackagenames";
// Preverification Options
case TokenType::dontpreverify_token:
return "-dontpreverify";
// General Options
case TokenType::printconfiguration:
return "-printconfiguration ";
case TokenType::dontwarn:
return "-dontwarn";
case TokenType::verbose_token:
return "-verbose";
case TokenType::unknownToken:
return "unknown token at line " + std::to_string(line) + " : " +
std::string(data);
}
not_reached();
}