TODO + cosmetics
This commit is contained in:
@@ -61,6 +61,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
RANGE(JetTokens.RANGE),
|
||||
SIMPLE_NAME(IDENTIFIER),
|
||||
ELVIS(JetTokens.ELVIS),
|
||||
// TODO : make same priority
|
||||
WITH_TYPE_RHS(IS_KEYWORD, NOT_IS, AS_KEYWORD, COLON) {
|
||||
@Override
|
||||
public void parseRightHandSide(JetExpressionParsing parsing) {
|
||||
|
||||
@@ -52,7 +52,7 @@ public class JetParsing extends AbstractJetParsing {
|
||||
@Override
|
||||
protected boolean parseCallWithClosure() {
|
||||
if (builderForByClause.getStackSize() > 0) {
|
||||
return super.parseCallWithClosure();
|
||||
return super.parseCallWithClosure();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -252,7 +252,7 @@ public class JetParsing extends AbstractJetParsing {
|
||||
extenstion = true;
|
||||
if (TYPE_REF_FIRST.contains(tt())
|
||||
&& !(at(IDENTIFIER) && lookahead(1) == LPAR)) {
|
||||
// TODO: if this type is annotated with an attribute, and it is a single identifier, it is a error (decomposer [a] foo())
|
||||
// TODO: if this type is annotated with an attribute, and it is a single identifier, it is an error (decomposer [a] foo())
|
||||
parseTypeRef();
|
||||
// The decomposer name may appear as the last section of the type
|
||||
if (at(DOT)) {
|
||||
@@ -1311,6 +1311,7 @@ public class JetParsing extends AbstractJetParsing {
|
||||
* ;
|
||||
*/
|
||||
private void parseTupleType() {
|
||||
// TODO : prohibit (a)
|
||||
assert _at(LPAR);
|
||||
|
||||
PsiBuilder.Marker tuple = mark();
|
||||
|
||||
@@ -20,7 +20,7 @@ public class JetExpression extends JetElement {
|
||||
}
|
||||
|
||||
|
||||
JetExpression findExpressionUnder(JetNodeType type) {
|
||||
protected JetExpression findExpressionUnder(JetNodeType type) {
|
||||
PsiElement containerNode = findChildByType(type);
|
||||
if (containerNode == null) return null;
|
||||
|
||||
|
||||
@@ -24,11 +24,13 @@ WHITE_SPACE_CHAR=[\ \n\t\f]
|
||||
// TODO: prohibit '$' in identifiers?
|
||||
PLAIN_IDENTIFIER=[:jletter:] [:jletterdigit:]*
|
||||
// TODO: this one MUST allow everything accepted by the runtime
|
||||
// TODO: Replace backticks by one backslash in the begining
|
||||
ESCAPED_IDENTIFIER = `{PLAIN_IDENTIFIER}`
|
||||
IDENTIFIER = {PLAIN_IDENTIFIER}|{ESCAPED_IDENTIFIER}
|
||||
FIELD_IDENTIFIER = \${IDENTIFIER}
|
||||
|
||||
BLOCK_COMMENT=("/*"[^"*"]{COMMENT_TAIL})|"/*"
|
||||
// TODO: Wiki markup for doc comments?
|
||||
DOC_COMMENT="/*""*"+("/"|([^"/""*"]{COMMENT_TAIL}))?
|
||||
COMMENT_TAIL=([^"*"]*("*"+[^"*""/"])?)*("*"+"/")?
|
||||
EOL_COMMENT="/""/"[^\n]*
|
||||
@@ -52,6 +54,7 @@ BINARY_EXPONENT=[Pp][+-]?{DIGIT}+
|
||||
HEX_SIGNIFICAND={HEX_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}.|0[Xx]{HEX_DIGIT}*.{HEX_DIGIT}+
|
||||
|
||||
CHARACTER_LITERAL="'"([^\\\'\n]|{ESCAPE_SEQUENCE})*("'"|\\)?
|
||||
// TODO: introduce symbols (e.g. 'foo) as another way to write string literals
|
||||
STRING_LITERAL=\"([^\\\"\n]|{ESCAPE_SEQUENCE})*(\"|\\)?
|
||||
ESCAPE_SEQUENCE=\\[^\n]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user