@Override
public void enterTypeAnnotation(SwiftParser.TypeAnnotationContext ctx) {
TerminalNodeImpl colon = (TerminalNodeImpl) ctx.getChild(0);
ParseTree parentLeftSibling = ParseTreeUtil.getLeftSibling(colon.getParent());
ParseTree rightSibling = ctx.getChild(1);
Token left = ParseTreeUtil.getStopTokenForNode(parentLeftSibling);
Token right = ParseTreeUtil.getStartTokenForNode(rightSibling);
Token colonToken = colon.getSymbol();
verifyColonLeftAssociation(left, right, colonToken);
}
java类org.antlr.v4.runtime.tree.TerminalNodeImpl的实例源码
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 15
收藏 0
点赞 0
评论 0
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void enterDictionaryType(SwiftParser.DictionaryTypeContext ctx) {
Token left = ctx.sType(0).getStop();
Token right = ctx.sType(1).getStart();
Token colon = ((TerminalNodeImpl) ctx.getChild(2)).getSymbol();
verifyColonLeftAssociation(left, right, colon);
}
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void enterTypeInheritanceClause(SwiftParser.TypeInheritanceClauseContext ctx) {
Token colon = ((TerminalNodeImpl) ctx.getChild(0)).getSymbol();
Token right = ((ParserRuleContext) ctx.getChild(1)).getStart();
Token left = ((ParserRuleContext) ParseTreeUtil.getLeftSibling(ctx)).getStop();
verifyColonLeftAssociation(left, right, colon);
}
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void enterConditionalOperator(SwiftParser.ConditionalOperatorContext ctx) {
Token colon = ((TerminalNodeImpl) ctx.getChild(ctx.getChildCount() - 1)).getSymbol();
Token left = ctx.expression().getStop();
Token right = ((ParserRuleContext) ParseTreeUtil.getRightSibling(ctx)).getStart();
verifyColonIsSpaceDelimited(left, right, colon);
}
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void enterTupleElement(SwiftParser.TupleElementContext ctx) {
if (ctx.identifier() != null) {
Token colon = ((TerminalNodeImpl) ctx.getChild(1)).getSymbol();
Token left = ctx.identifier().getStop();
if (ctx.expression() != null) {
Token right = ctx.expression().getStart();
verifyColonLeftAssociation(left, right, colon);
} else {
verifier.verifyPunctuationLeftAssociation(left, colon, Messages.COLON);
}
}
}
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 16
收藏 0
点赞 0
评论 0
@Override
public void enterFunctionCallArgument(SwiftParser.FunctionCallArgumentContext ctx) {
if (ctx.functionCallIdentifier() != null) {
Token colon = ((TerminalNodeImpl) ctx.getChild(1)).getSymbol();
Token left = ctx.functionCallIdentifier().getStop();
if (ctx.expression() == null && ctx.operator() == null) {
verifier.verifyPunctuationLeftAssociation(left, colon, Messages.COLON);
return;
}
ParserRuleContext rightCtx = ctx.expression() == null ? ctx.operator() : ctx.expression();
Token right = rightCtx.getStart();
verifyColonLeftAssociation(left, right, colon);
}
}
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void enterGenericParameter(SwiftParser.GenericParameterContext ctx) {
if (ctx.getChildCount() == 3) {
Token colon = ((TerminalNodeImpl) ctx.getChild(1)).getSymbol();
Token left = ctx.typeName().getStop();
Token right = ((ParserRuleContext) ctx.getChild(2)).getStart();
verifyColonLeftAssociation(left, right, colon);
}
}
ColonWhitespaceListener.java 文件源码
项目:tailor
阅读 15
收藏 0
点赞 0
评论 0
@Override
public void enterArgumentName(SwiftParser.ArgumentNameContext ctx) {
Token colon = ((TerminalNodeImpl) ctx.getChild(1)).getSymbol();
Token left = ctx.identifier() == null
? ((TerminalNodeImpl) ctx.getChild(0)).getSymbol()
: ctx.identifier().getStop();
verifier.verifyPunctuationLeftAssociation(left, colon, Messages.COLON);
}
ArrowWhitespaceListener.java 文件源码
项目:tailor
阅读 14
收藏 0
点赞 0
评论 0
@Override
public void enterFunctionType(SwiftParser.FunctionTypeContext ctx) {
Optional<ParseTree> arrowOptional = ctx.children.stream()
.filter(node -> node.getText().equals("->"))
.findFirst();
if (!arrowOptional.isPresent()) {
return;
}
ParseTree arrow = arrowOptional.get();
Token left = ParseTreeUtil.getStopTokenForNode(ParseTreeUtil.getLeftSibling(arrow));
Token right = ParseTreeUtil.getStartTokenForNode(ParseTreeUtil.getRightSibling(arrow));
verifyArrowIsSpaceDelimited(left, right, ((TerminalNodeImpl) arrow).getSymbol());
}
ArrowWhitespaceListener.java 文件源码
项目:tailor
阅读 14
收藏 0
点赞 0
评论 0
private void checkWhitespaceAroundReturnArrow(ParserRuleContext ctx) {
Token arrow = ((TerminalNodeImpl) ctx.getChild(0)).getSymbol();
Token left = ParseTreeUtil.getStopTokenForNode(ParseTreeUtil.getLeftSibling(ctx));
Token right = ParseTreeUtil.getStartTokenForNode(ctx.getChild(1));
verifyArrowIsSpaceDelimited(left, right, arrow);
}