
    |e                     h    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mZ dgZ G d de      Zy)z
    pygments.lexers.dalvik
    ~~~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for Dalvik VM-related languages.

    :copyright: Copyright 2006-2023 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                      e Zd 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
ee      fd e
eeee      fd e
eeee      fgdefgdefdefgdej                  fd e
e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j0                  fgd# e
ej2                  eej4                  e      fgd$efd%efgd&ej2                  fgd'efgd(Zd) Zy*)+r   zR
    For Smali (Android/Dalvik) assembly
    code.

    .. versionadded:: 1.6
    Smalizhttp://code.google.com/p/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".*"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                    d}t        j                  d| t         j                        r/|dz  }t        j                  d| t         j                        r|dz  }t        j                  d| t         j                        r|dz  }|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scores     8/usr/lib/python3/dist-packages/pygments/lexers/dalvik.pyanalyse_textzSmaliLexer.analyse_textn   sz    99%tR\\:SLEyy 3 59",,H 99 8 :>r||M SLE    N)__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesr   r   r   r   r	   Builtinr   r
   r   HexFloatIntegerr   VariableFunctionLabelTypeClassr   tokensr&    r'   r%   r   r      s*    D
+CiGII IGGHGK %&M"IM"FOL!
" $,J#@B<j':w?A /j':w?A

 $%
 JZ 

 T\\*,htZ.HI

 f &**-0&,,?&..)	
 #k4==+>@

 t}}-#k4==+>@
 djj!
 -tTZZ>@	
 K [)

 -
  
QKFZr'   )r+   r    pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r;   r'   r%   <module>r?      s;    
 8 8   .k kr'   