Parse other use-site targeted annotations
This commit is contained in:
@@ -134,6 +134,10 @@ public interface JetTokens {
|
||||
JetToken EOL_OR_SEMICOLON = new JetToken("EOL_OR_SEMICOLON");
|
||||
JetKeywordToken FILE_KEYWORD = JetKeywordToken.softKeyword("file");
|
||||
JetKeywordToken FIELD_KEYWORD = JetKeywordToken.softKeyword("field");
|
||||
JetKeywordToken PROPERTY_KEYWORD = JetKeywordToken.softKeyword("property");
|
||||
JetKeywordToken RECEIVER_KEYWORD = JetKeywordToken.softKeyword("receiver");
|
||||
JetKeywordToken PARAM_KEYWORD = JetKeywordToken.softKeyword("param");
|
||||
JetKeywordToken SPARAM_KEYWORD = JetKeywordToken.softKeyword("sparam");
|
||||
JetKeywordToken IMPORT_KEYWORD = JetKeywordToken.softKeyword("import");
|
||||
JetKeywordToken WHERE_KEYWORD = JetKeywordToken.softKeyword("where");
|
||||
JetKeywordToken BY_KEYWORD = JetKeywordToken.softKeyword("by");
|
||||
@@ -176,7 +180,7 @@ public interface JetTokens {
|
||||
OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD,
|
||||
CATCH_KEYWORD, FINALLY_KEYWORD, OUT_KEYWORD, FINAL_KEYWORD, VARARG_KEYWORD, REIFIED_KEYWORD,
|
||||
DYNAMIC_KEYWORD, COMPANION_KEYWORD, CONSTRUCTOR_KEYWORD, INIT_KEYWORD, SEALED_KEYWORD,
|
||||
FIELD_KEYWORD
|
||||
FIELD_KEYWORD, PROPERTY_KEYWORD, RECEIVER_KEYWORD, PARAM_KEYWORD, SPARAM_KEYWORD
|
||||
);
|
||||
|
||||
/*
|
||||
|
||||
@@ -64,7 +64,8 @@ public class JetParsing extends AbstractJetParsing {
|
||||
private static final TokenSet LAMBDA_VALUE_PARAMETER_FIRST =
|
||||
TokenSet.orSet(TokenSet.create(IDENTIFIER, LBRACKET), MODIFIER_KEYWORDS);
|
||||
private static final TokenSet SOFT_KEYWORDS_AT_MEMBER_START = TokenSet.create(CONSTRUCTOR_KEYWORD, INIT_KEYWORD);
|
||||
private static final TokenSet ANNOTATION_TARGETS = TokenSet.create(FILE_KEYWORD, FIELD_KEYWORD);
|
||||
private static final TokenSet ANNOTATION_TARGETS = TokenSet.create(
|
||||
FILE_KEYWORD, FIELD_KEYWORD, GET_KEYWORD, SET_KEYWORD, PROPERTY_KEYWORD, RECEIVER_KEYWORD, PARAM_KEYWORD, SPARAM_KEYWORD);
|
||||
|
||||
static JetParsing createForTopLevel(SemanticWhitespaceAwarePsiBuilder builder) {
|
||||
JetParsing jetParsing = new JetParsing(builder);
|
||||
@@ -544,8 +545,18 @@ public class JetParsing extends AbstractJetParsing {
|
||||
* : annotationPrefix "[" unescapedAnnotation+ "]"
|
||||
* ;
|
||||
*
|
||||
* annotationUseSiteTarget
|
||||
* : "file"
|
||||
* : "field"
|
||||
* : "property"
|
||||
* : "get"
|
||||
* : "set"
|
||||
* : "param"
|
||||
* : "sparam"
|
||||
* ;
|
||||
*
|
||||
* annotationPrefix:
|
||||
* : ("@" (":" ("file" | "field"))?)
|
||||
* : ("@" (annotationUseSiteTarget ":")?)
|
||||
* ;
|
||||
*/
|
||||
private boolean parseAnnotationOrList(AnnotationParsingMode mode) {
|
||||
|
||||
Reference in New Issue
Block a user