o ‡ÎÖaÞã@sbdZddlZddlmZmZmZddlmZmZm Z m Z m Z m Z m Z mZdgZGdd„deƒZdS)zá pygments.lexers.dalvik ~~~~~~~~~~~~~~~~~~~~~~ Pygments lexers for Dalvik VM-related languages. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. éN)Ú RegexLexerÚincludeÚbygroups)ÚKeywordÚTextÚCommentÚNameÚStringÚNumberÚ PunctuationÚ WhitespaceÚ SmaliLexerc@sdeZdZdZdZdgZdgZdgZedƒedƒedƒed ƒed ƒed ƒed ƒed ƒedƒedƒedƒedƒg de e e ƒfde e e e e ƒfde e e e e ƒfgde fgde fde fgde j fde ee ƒfgdefdejfdejfdejfgde ee jeƒfgde jfd e ee jeƒfgd!e jfgd"e e jee jeƒfgd#efd$efgd%e jfgd&efgd'œ Zd(d)„Zd*S)+r zw For `Smali `_ (Android/Dalvik) assembly code. .. versionadded:: 1.6 ÚSmaliÚsmaliz*.smaliz text/smaliÚcommentÚlabelÚfieldÚmethodÚclassÚ directiveúaccess-modifierÚ instructionÚliteralÚ punctuationÚtypeÚ whitespacezÇ^([ \t]*)(\.(?:class|super|implements|field|subannotation|annotation|enum|method|registers|locals|array-data|packed-switch|sparse-switch|catchall|catch|line|parameter|local|prologue|epilogue|source))zq^([ \t]*)(\.end)( )(field|subannotation|annotation|method|array-data|packed-switch|sparse-switch|parameter|local)z^([ \t]*)(\.restart)( )(local)zµ(public|private|protected|static|final|synchronized|bridge|varargs|native|abstract|strictfp|synthetic|constructor|declared-synchronized|interface|enum|annotation|volatile|transient)z\nz\s+z \b[vp]\d+\bz(\b[a-z][A-Za-z0-9/-]+)(\s+)z".*"z0x[0-9A-Fa-f]+t?z [0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z[0-9]+L?z(\$?\b)([\w$]*)(:)z <(?:cl)?init>z(\$?\b)([\w$]*)(\()z:\w+z(L)((?:[\w$]+/)*)([\w$]+)(;)z->z [{},():=.-]z[ZBSCIJFDV\[]+z#.*?\n) ÚrootrrrrrrrrrrrrcCsPd}t d|tj¡r|d7}t d|tj¡r|d7}t d|tj¡r&|d7}|S)Nrz ^\s*\.class\sgà?z­\b((check-cast|instance-of|throw-verification-error)\b|(-to|add|[ais]get|[ais]put|and|cmpl|const|div|if|invoke|move|mul|neg|not|or|rem|return|rsub|shl|shr|sub|ushr)[-/])|{|}g333333Ó?a>(\.(catchall|epilogue|restart local|prologue)|\b(array-data|class-change-error|declared-synchronized|(field|inline|vtable)@0x[0-9a-fA-F]|generic-error|illegal-class-access|illegal-field-access|illegal-method-access|instantiation-error|no-error|no-such-class|no-such-field|no-such-method|packed-switch|sparse-switch))\bg333333ã?)ÚreÚsearchÚ MULTILINE)ÚtextÚscore©r"ú8/usr/lib/python3/dist-packages/pygments/lexers/dalvik.pyÚ analyse_textksýúzSmaliLexer.analyse_textN)Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚnameÚaliasesÚ filenamesÚ mimetypesrrr rrÚBuiltinrr r ÚHexÚFloatÚIntegerr ÚVariableÚFunctionÚLabelÚTypeÚClassrÚtokensr$r"r"r"r#r s„ôý ÿù ýÿþ þü ÿÿ ÿþÿÿüþÿÿº K)r(rÚpygments.lexerrrrÚpygments.tokenrrrrr r r r Ú__all__r r"r"r"r#Ús  (