File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/jvm.cpython-38.pyc
U
�a`� � @ s� d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZ ddlmZ ddlmZ ddd d
ddd
ddddddddgZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG dd
� d
e�ZG dd� de�Z G dd� de�Z!G dd
� d
e�Z"G dd� de"�Z#G dd � d e�Z$G d!d� de�Z%G d"d� de�Z&G d#d� de�Z'G d$d� de�Z(G d%d� de�Z)G d&d� de�Z*dS )'z�
pygments.lexers.jvm
~~~~~~~~~~~~~~~~~~~
Pygments lexers for JVM languages.
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N) �Lexer�
RegexLexer�include�bygroups�using�this�combined�default�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation��shebang_matches)� unistring� JavaLexer�
ScalaLexer� GosuLexer�GosuTemplateLexer�GroovyLexer� IokeLexer�ClojureLexer�ClojureScriptLexer�KotlinLexer�
XtendLexer�AspectJLexer�CeylonLexer�PigLexer� GoloLexer�JasminLexerc @ s8 e Zd ZdZdZdgZdgZdgZej ej
B ejB Zde
fdejfdejfd efd
eee�eje
e�fdejfdejfd
ejfdeeje
�dfdejfdeeje
�dfdeeje
�dfdefdejfdeeej�fdej fdefde!j"fde!j#fde!j$fde!j%fde!j&fdefde
fgdej'd fgd!ejd fgd"�Z(d#S )$r z=
For `Java <http://www.sun.com/java/>`_ source code.
ZJava�javaz*.javaztext/x-java�[^\S\n]+�//.*?\n� /\*.*?\*/zz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\bzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()z@[^\W\d][\w.]*��(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\b�6(boolean|byte|char|double|float|int|long|short|void)\b�(package)(\s+)�import�(true|false|null)\b�(class|interface)(\s+)�classz(import(?:\s+static)?)(\s+)�"(\\\\|\\"|[^"])*"�!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'z(\.)((?:[^\W\d]|\$)[\w$]*)z^\s*([^\W\d]|\$)[\w$]*:z([^\W\d]|\$)[\w$]*a ([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?z"0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?z0[bB][01][01_]*[lL]?z
0[0-7_]+[lL]?z0|[1-9][0-9_]*[lL]?�[~^*!%&\[\](){}<>|+=:;,./?-]�\n�#pop� [\w.]+\*?)�rootr/ r, N))�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�re� MULTILINE�DOTALL�UNICODE�flagsr r �Single� Multiliner r r r r �Functionr
� Decorator�Declaration�Type� Namespace�Constantr �Char� Attribute�Labelr �Float�Hex�Bin�Oct�Integer�Class�tokens� rV rV �5/usr/lib/python3/dist-packages/pygments/lexers/jvm.pyr sd ��������/
�
��c @ sF e Zd ZdZdZdgZdgZdgZed�Z ed�Z
ed�Zd d
� ZdS )r zb
For `AspectJ <http://www.eclipse.org/aspectj/>`_ source code.
.. versionadded:: 1.6
ZAspectJZaspectjz*.ajztext/x-aspectj)+ZaspectZpointcutZ
privileged�callZ executionZinitializationZpreinitializationZhandler�get�setZstaticinitialization�target�argsZwithinZ
withincodeZcflowZ
cflowbelow�
annotationZbeforeZafterZaroundZproceedZthrowingZ returningZadviceexecution�declare�parentsZwarning�errorZsoftZ
precedenceZ
thisJoinPointZthisJoinPointStaticPartZ thisEnclosingJoinPointStaticPartZissingletonZperthisZ pertargetZpercflowZ
percflowbelowZ
pertypewithin�lockZunlockZthisAspectInstance)zparents:zwarning:zerror:zsoft:zprecedence:)z@typez@methodz@constructorz@fieldc c s� t �| |�D ]�\}}}|tkr6|| jkr6|t|fV q|tjkrp|| jkrp|t|d d� fV |t|d fV q|tjkr�|| j kr�|t|fV q|||fV qd S )N���)
r �get_tokens_unprocessedr �aj_keywordsr rN �
aj_inter_typer
rG �aj_inter_type_annotation)�self�text�index�token�valuerV rV rW rc y s z#AspectJLexer.get_tokens_unprocessedN)
r7 r8 r9 r: r; r<