UNPKG

2.75 kBJavaScriptView Raw
1hljs.registerLanguage("aspectj",(()=>{"use strict";function e(...e){
2return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n
3})).join("")}return n=>{
4const t=["false","synchronized","int","abstract","float","private","char","boolean","static","null","if","const","for","true","while","long","throw","strictfp","finally","protected","import","native","final","return","void","enum","else","extends","implements","break","transient","new","catch","instanceof","byte","super","volatile","case","assert","short","package","default","double","public","try","this","switch","continue","throws","privileged","aspectOf","adviceexecution","proceed","cflowbelow","cflow","initialization","preinitialization","staticinitialization","withincode","target","within","execution","getWithinTypeName","handler","thisJoinPoint","thisJoinPointStaticPart","thisEnclosingJoinPointStaticPart","declare","parents","warning","error","soft","precedence","thisAspectInstance"],i=["get","set","args","call"]
5;return{name:"AspectJ",keywords:t,illegal:/<\/|#/,
6contains:[n.COMMENT(/\/\*\*/,/\*\//,{relevance:0,contains:[{begin:/\w+@/,
7relevance:0},{className:"doctag",begin:/@[A-Za-z]+/}]
8}),n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{
9className:"class",beginKeywords:"aspect",end:/[{;=]/,excludeEnd:!0,
10illegal:/[:;"\[\]]/,contains:[{
11beginKeywords:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"
12},n.UNDERSCORE_TITLE_MODE,{begin:/\([^\)]*/,end:/[)]+/,keywords:t.concat(i),
13excludeEnd:!1}]},{className:"class",beginKeywords:"class interface",end:/[{;=]/,
14excludeEnd:!0,relevance:0,keywords:"class interface",illegal:/[:"\[\]]/,
15contains:[{beginKeywords:"extends implements"},n.UNDERSCORE_TITLE_MODE]},{
16beginKeywords:"pointcut after before around throwing returning",end:/[)]/,
17excludeEnd:!1,illegal:/["\[\]]/,contains:[{
18begin:e(n.UNDERSCORE_IDENT_RE,/\s*\(/),returnBegin:!0,
19contains:[n.UNDERSCORE_TITLE_MODE]}]},{begin:/[:]/,returnBegin:!0,end:/[{;]/,
20relevance:0,excludeEnd:!1,keywords:t,illegal:/["\[\]]/,contains:[{
21begin:e(n.UNDERSCORE_IDENT_RE,/\s*\(/),keywords:t.concat(i),relevance:0
22},n.QUOTE_STRING_MODE]},{beginKeywords:"new throw",relevance:0},{
23className:"function",
24begin:/\w+ +\w+(\.\w+)?\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,returnBegin:!0,
25end:/[{;=]/,keywords:t,excludeEnd:!0,contains:[{
26begin:e(n.UNDERSCORE_IDENT_RE,/\s*\(/),returnBegin:!0,relevance:0,
27contains:[n.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,
28relevance:0,keywords:t,
29contains:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE]
30},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},n.C_NUMBER_MODE,{
31className:"meta",begin:/@[A-Za-z]+/}]}}})());
\No newline at end of file