TODO + cosmetics

This commit is contained in:
Andrey Breslav
2011-01-12 19:01:43 +03:00
parent 6bf80cc084
commit cf9187623b
4 changed files with 8 additions and 3 deletions
@@ -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]