o
    -wÖiD  ã                   @   s^   d Z ddlZddlmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZ dgZG dd„ deƒZdS )zá
    pygments.lexers.dalvik
    ~~~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for Dalvik VM-related languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroups)ÚKeywordÚTextÚCommentÚNameÚStringÚNumberÚPunctuationÚ
SmaliLexerc                   @   sD  e Zd ZdZdZdgZdgZdgZedƒedƒedƒed	ƒed
ƒedƒedƒedƒedƒedƒedƒedƒgde	fde	fde	fgde	fgde
fde
fgdejfde
fgdefdejfdejfdejfgdeeejeƒfgdejfd eeejeƒfgd!ejfgd"ee	je
eje
ƒfgd#efd$efgd%e	jfgd&efgd'œZd(d)„ Zd*S )+r   zw
    For `Smali <http://code.google.com/p/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)zk^[ \t]*\.end (field|subannotation|annotation|method|array-data|packed-switch|sparse-switch|parameter|local)z^[ \t]*\.restart localzµ(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".*"z0x[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)Úrootr   r   r   r   r   r   r   r   r   r   r   r   c                 C   sP   d}t  d| t j¡r|d7 }t  d| t j¡r|d7 }t  d| t j¡r&|d7 }|S )Nr   z^\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!   ú`/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/wandb/vendor/pygments/lexers/dalvik.pyÚanalyse_textl   s   ýúzSmaliLexer.analyse_textN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr   r   r   r   ÚBuiltinr	   r
   ÚHexÚFloatÚIntegerr   r   ÚVariableÚFunctionÚLabelÚTypeÚClassr   Útokensr#   r!   r!   r!   r"   r      s„    ôýÿù
ýÿþþüÿÿÿþÿÿüþÿÿºK)r'   r   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   Ú__all__r   r!   r!   r!   r"   Ú<module>   s   
$