Issue #376. Added $ to all identifier definitions
This commit is contained in:
parent
6c97ba8038
commit
825d1be152
|
|
@ -94,7 +94,7 @@ CHAR : . ;
|
|||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
mode param;
|
||||
Space0: WS -> type(WS);
|
||||
PARAMETER_NAME: [a-zA-Z0-9<>_-]+ -> mode(DEFAULT_MODE);
|
||||
PARAMETER_NAME: [a-zA-Z0-9<>_$]+ -> mode(DEFAULT_MODE);
|
||||
Char1: .
|
||||
{
|
||||
skipCurrentTokenConsuming();
|
||||
|
|
@ -120,10 +120,10 @@ Newline5: NEWLINE
|
|||
Leading_asterisk3: LEADING_ASTERISK -> type(LEADING_ASTERISK);
|
||||
XmlTagOpen1: '<' -> type(OPEN), pushMode(xmlTagDefinition);
|
||||
STRING: '"' .*? '"' {referenceCatched = false;} -> mode(DEFAULT_MODE);
|
||||
PACKAGE: [a-z] ([a-z_-] | '.')+ [a-z_-] {referenceCatched = true;};
|
||||
PACKAGE: [a-z$] ([a-z_$] | '.')+ [a-z_$] {referenceCatched = true;};
|
||||
DOT: '.';
|
||||
HASH: '#' {referenceCatched = true;} -> mode(classMemeber);
|
||||
CLASS: [A-Z] [a-zA-Z0-9_-]* {referenceCatched = true;};
|
||||
CLASS: [A-Z] [a-zA-Z0-9_$]* {referenceCatched = true;};
|
||||
End20: JAVADOC_INLINE_TAG_END
|
||||
{
|
||||
insideJavadocInlineTag--;
|
||||
|
|
@ -141,10 +141,10 @@ Char2: .
|
|||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
mode classMemeber;
|
||||
MEMBER: [a-zA-Z0-9_-]+ {!insideReferenceArguments}?;
|
||||
MEMBER: [a-zA-Z0-9_$]+ {!insideReferenceArguments}?;
|
||||
LEFT_BRACE: '(' {insideReferenceArguments=true;};
|
||||
RIGHT_BRACE: ')' {insideReferenceArguments=false;};
|
||||
ARGUMENT: ([a-zA-Z0-9_-] | '.' | '[' | ']')+ {insideReferenceArguments}?;
|
||||
ARGUMENT: ([a-zA-Z0-9_$] | '.' | '[' | ']')+ {insideReferenceArguments}?;
|
||||
COMMA: ',' {insideReferenceArguments}?;
|
||||
Leading_asterisk6: LEADING_ASTERISK
|
||||
{
|
||||
|
|
@ -188,7 +188,7 @@ Char20: .
|
|||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
mode serialField;
|
||||
Space2: WS -> type(WS);
|
||||
FIELD_NAME: [a-zA-Z0-9_-]+ -> mode(serialFieldFieldType);
|
||||
FIELD_NAME: [a-zA-Z0-9_$]+ -> mode(serialFieldFieldType);
|
||||
Char3: .
|
||||
{
|
||||
skipCurrentTokenConsuming();
|
||||
|
|
@ -198,7 +198,7 @@ Char3: .
|
|||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
mode serialFieldFieldType;
|
||||
Space3: WS -> type(WS);
|
||||
FIELD_TYPE: [a-zA-Z0-9_-]+ -> mode(DEFAULT_MODE);
|
||||
FIELD_TYPE: [a-zA-Z0-9_$]+ -> mode(DEFAULT_MODE);
|
||||
Char4: .
|
||||
{
|
||||
skipCurrentTokenConsuming();
|
||||
|
|
@ -206,7 +206,7 @@ Char4: .
|
|||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
mode exception;
|
||||
Space4: WS -> type(WS);
|
||||
CLASS_NAME: ([a-zA-Z0-9_-] | '.')+ -> mode(DEFAULT_MODE);
|
||||
CLASS_NAME: ([a-zA-Z0-9_$] | '.')+ -> mode(DEFAULT_MODE);
|
||||
Char5: .
|
||||
{
|
||||
skipCurrentTokenConsuming();
|
||||
|
|
|
|||
|
|
@ -281,6 +281,16 @@ public class JavadocParseTreeTest
|
|||
compareTrees(expectedTree, generatedTree);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dollarInLink()
|
||||
throws IOException
|
||||
{
|
||||
String filename = folderWithInputFiles + "/javadocTags/DollarInLink.txt";
|
||||
ParseTree generatedTree = parseJavadoc(getFileContent(new File(filename)));
|
||||
ParseTree expectedTree = ParseTreeBuilder.treeDollarInLink();
|
||||
compareTrees(expectedTree, generatedTree);
|
||||
}
|
||||
|
||||
private void compareTrees(ParseTree t1, ParseTree t2)
|
||||
{
|
||||
Assert.assertEquals(t1.toStringTree(parser), t2.toStringTree(parser));
|
||||
|
|
|
|||
|
|
@ -2428,4 +2428,45 @@ public class ParseTreeBuilder
|
|||
vfDcF.addChild(rrjXS);
|
||||
return vfDcF;
|
||||
}
|
||||
|
||||
public static ParseTree treeDollarInLink()
|
||||
{
|
||||
JavadocContext yCrNh = new JavadocContext(null, 0);
|
||||
JavadocInlineTagContext yZEPk = new JavadocInlineTagContext(yCrNh, 0);
|
||||
CommonToken QaRFV = new CommonToken(JavadocTokenTypes.JAVADOC_INLINE_TAG_START, "{");
|
||||
yZEPk.addChild(QaRFV);
|
||||
CommonToken LnzvV = new CommonToken(JavadocTokenTypes.LINK_LITERAL, "@link");
|
||||
yZEPk.addChild(LnzvV);
|
||||
CommonToken WcdhT = new CommonToken(JavadocTokenTypes.WS, " ");
|
||||
yZEPk.addChild(WcdhT);
|
||||
ReferenceContext yPHKq = new ReferenceContext(yZEPk, 0);
|
||||
CommonToken tfKuW = new CommonToken(JavadocTokenTypes.CLASS, "My$Class");
|
||||
yPHKq.addChild(tfKuW);
|
||||
CommonToken asCBP = new CommonToken(JavadocTokenTypes.HASH, "#");
|
||||
yPHKq.addChild(asCBP);
|
||||
CommonToken VfpBA = new CommonToken(JavadocTokenTypes.MEMBER, "$$simple_$Method");
|
||||
yPHKq.addChild(VfpBA);
|
||||
ParametersContext zUjHC = new ParametersContext(yPHKq, 0);
|
||||
CommonToken evbHg = new CommonToken(JavadocTokenTypes.LEFT_BRACE, "(");
|
||||
zUjHC.addChild(evbHg);
|
||||
CommonToken mpzxn = new CommonToken(JavadocTokenTypes.ARGUMENT, "_A78");
|
||||
zUjHC.addChild(mpzxn);
|
||||
CommonToken kOOdW = new CommonToken(JavadocTokenTypes.COMMA, ",");
|
||||
zUjHC.addChild(kOOdW);
|
||||
CommonToken LvnuO = new CommonToken(JavadocTokenTypes.WS, " ");
|
||||
zUjHC.addChild(LvnuO);
|
||||
CommonToken IScAu = new CommonToken(JavadocTokenTypes.ARGUMENT, "$8$");
|
||||
zUjHC.addChild(IScAu);
|
||||
CommonToken aULsN = new CommonToken(JavadocTokenTypes.RIGHT_BRACE, ")");
|
||||
zUjHC.addChild(aULsN);
|
||||
yPHKq.addChild(zUjHC);
|
||||
yZEPk.addChild(yPHKq);
|
||||
CommonToken DCMuM = new CommonToken(JavadocTokenTypes.JAVADOC_INLINE_TAG_END, "}");
|
||||
yZEPk.addChild(DCMuM);
|
||||
yCrNh.addChild(yZEPk);
|
||||
CommonToken AcQbE = new CommonToken(JavadocTokenTypes.EOF, "<EOF>");
|
||||
yCrNh.addChild(AcQbE);
|
||||
return yCrNh;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
{@link My$Class#$$simple_$Method(_A78, $8$)}
|
||||
Loading…
Reference in New Issue