{"version":3,"file":"aspectj.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/aspectj.js"],"sourcesContent":["/*\nLanguage: AspectJ\nAuthor: Hakan Ozler <ozler.hakan@gmail.com>\nWebsite: https://www.eclipse.org/aspectj/\nDescription: Syntax Highlighting for the AspectJ Language which is a general-purpose aspect-oriented extension to the Java programming language.\nCategory: system\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction aspectj(hljs) {\n  const regex = hljs.regex;\n  const KEYWORDS = [\n    \"false\",\n    \"synchronized\",\n    \"int\",\n    \"abstract\",\n    \"float\",\n    \"private\",\n    \"char\",\n    \"boolean\",\n    \"static\",\n    \"null\",\n    \"if\",\n    \"const\",\n    \"for\",\n    \"true\",\n    \"while\",\n    \"long\",\n    \"throw\",\n    \"strictfp\",\n    \"finally\",\n    \"protected\",\n    \"import\",\n    \"native\",\n    \"final\",\n    \"return\",\n    \"void\",\n    \"enum\",\n    \"else\",\n    \"extends\",\n    \"implements\",\n    \"break\",\n    \"transient\",\n    \"new\",\n    \"catch\",\n    \"instanceof\",\n    \"byte\",\n    \"super\",\n    \"volatile\",\n    \"case\",\n    \"assert\",\n    \"short\",\n    \"package\",\n    \"default\",\n    \"double\",\n    \"public\",\n    \"try\",\n    \"this\",\n    \"switch\",\n    \"continue\",\n    \"throws\",\n    \"privileged\",\n    \"aspectOf\",\n    \"adviceexecution\",\n    \"proceed\",\n    \"cflowbelow\",\n    \"cflow\",\n    \"initialization\",\n    \"preinitialization\",\n    \"staticinitialization\",\n    \"withincode\",\n    \"target\",\n    \"within\",\n    \"execution\",\n    \"getWithinTypeName\",\n    \"handler\",\n    \"thisJoinPoint\",\n    \"thisJoinPointStaticPart\",\n    \"thisEnclosingJoinPointStaticPart\",\n    \"declare\",\n    \"parents\",\n    \"warning\",\n    \"error\",\n    \"soft\",\n    \"precedence\",\n    \"thisAspectInstance\"\n  ];\n  const SHORTKEYS = [\n    \"get\",\n    \"set\",\n    \"args\",\n    \"call\"\n  ];\n\n  return {\n    name: 'AspectJ',\n    keywords: KEYWORDS,\n    illegal: /<\\/|#/,\n    contains: [\n      hljs.COMMENT(\n        /\\/\\*\\*/,\n        /\\*\\//,\n        {\n          relevance: 0,\n          contains: [\n            {\n              // eat up @'s in emails to prevent them to be recognized as doctags\n              begin: /\\w+@/,\n              relevance: 0\n            },\n            {\n              className: 'doctag',\n              begin: /@[A-Za-z]+/\n            }\n          ]\n        }\n      ),\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'class',\n        beginKeywords: 'aspect',\n        end: /[{;=]/,\n        excludeEnd: true,\n        illegal: /[:;\"\\[\\]]/,\n        contains: [\n          { beginKeywords: 'extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton' },\n          hljs.UNDERSCORE_TITLE_MODE,\n          {\n            begin: /\\([^\\)]*/,\n            end: /[)]+/,\n            keywords: KEYWORDS.concat(SHORTKEYS),\n            excludeEnd: false\n          }\n        ]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'class interface',\n        end: /[{;=]/,\n        excludeEnd: true,\n        relevance: 0,\n        keywords: 'class interface',\n        illegal: /[:\"\\[\\]]/,\n        contains: [\n          { beginKeywords: 'extends implements' },\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        // AspectJ Constructs\n        beginKeywords: 'pointcut after before around throwing returning',\n        end: /[)]/,\n        excludeEnd: false,\n        illegal: /[\"\\[\\]]/,\n        contains: [\n          {\n            begin: regex.concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n            returnBegin: true,\n            contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n          }\n        ]\n      },\n      {\n        begin: /[:]/,\n        returnBegin: true,\n        end: /[{;]/,\n        relevance: 0,\n        excludeEnd: false,\n        keywords: KEYWORDS,\n        illegal: /[\"\\[\\]]/,\n        contains: [\n          {\n            begin: regex.concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n            keywords: KEYWORDS.concat(SHORTKEYS),\n            relevance: 0\n          },\n          hljs.QUOTE_STRING_MODE\n        ]\n      },\n      {\n        // this prevents 'new Name(...), or throw ...' from being recognized as a function definition\n        beginKeywords: 'new throw',\n        relevance: 0\n      },\n      {\n        // the function class is a bit different for AspectJ compared to the Java language\n        className: 'function',\n        begin: /\\w+ +\\w+(\\.\\w+)?\\s*\\([^\\)]*\\)\\s*((throws)[\\w\\s,]+)?[\\{;]/,\n        returnBegin: true,\n        end: /[{;=]/,\n        keywords: KEYWORDS,\n        excludeEnd: true,\n        contains: [\n          {\n            begin: regex.concat(hljs.UNDERSCORE_IDENT_RE, /\\s*\\(/),\n            returnBegin: true,\n            relevance: 0,\n            contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n          },\n          {\n            className: 'params',\n            begin: /\\(/,\n            end: /\\)/,\n            relevance: 0,\n            keywords: KEYWORDS,\n            contains: [\n              hljs.APOS_STRING_MODE,\n              hljs.QUOTE_STRING_MODE,\n              hljs.C_NUMBER_MODE,\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          },\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      hljs.C_NUMBER_MODE,\n      {\n        // annotation is also used in this language\n        className: 'meta',\n        begin: /@[A-Za-z]+/\n      }\n    ]\n  };\n}\n\nmodule.exports = aspectj;\n"],"names":["aspectj","hljs","regex","KEYWORDS","SHORTKEYS","aspectj_1"],"mappings":"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","x_google_ignoreList":[0]}