@Override public void visitPairProperty(PairPropertyTree tree) { scan(tree.key()); scan(tree.value()); }
private static boolean hasObjectOrArrayAttribute(ObjectLiteralTree objectLiteral) { for (Tree property : objectLiteral.properties()) { if (property.is(Kind.PAIR_PROPERTY) && ((PairPropertyTree) property).value().is(Kind.ARRAY_LITERAL, Kind.OBJECT_LITERAL)) { return true; } } return false; }
private static boolean hasObjectOrArrayAttribute(ObjectLiteralTree objectLiteral) { for (Tree property : objectLiteral.properties()) { if (property.is(Kind.PAIR_PROPERTY) && ((PairPropertyTree) property).value().is(Kind.ARRAY_LITERAL, Kind.OBJECT_LITERAL)) { return true; } } return false; }
private void visitDefaults(CallExpressionTree tree) { Tree parameter = tree.argumentClause().arguments().get(0); if (parameter.is(Kind.OBJECT_LITERAL)) { PairPropertyTree defaultsProp = Backbone.getModelProperty((ObjectLiteralTree) parameter, "defaults"); if (defaultsProp != null && defaultsProp.value().is(Kind.OBJECT_LITERAL)) { checkForSpaceInPropertyNames((ObjectLiteralTree) defaultsProp.value()); } } }
private void visitDefaults(CallExpressionTree tree) { Tree parameter = tree.arguments().parameters().get(0); if (parameter.is(Kind.OBJECT_LITERAL)) { PairPropertyTree defaultsProp = Backbone.getModelProperty((ObjectLiteralTree) parameter, "defaults"); if (defaultsProp != null && defaultsProp.value().is(Kind.OBJECT_LITERAL)) { checkForSpaceInPropertyNames((ObjectLiteralTree) defaultsProp.value()); } } }
@Override public void visitPairProperty(PairPropertyTree tree) { if (tree.key().is(Kind.PROPERTY_IDENTIFIER)) { String keyName = ((IdentifierTree) tree.key()).name(); if (tree.value().is(Kind.IDENTIFIER_REFERENCE) && ((IdentifierTree) tree.value()).name().equals(keyName)) { raiseIssue("property", keyName, tree.key()); } if (tree.value().is(Kind.FUNCTION_EXPRESSION)) { raiseIssue("method", keyName, tree.key()); } } super.visitPairProperty(tree); }
@Override public void visitPairProperty(PairPropertyTree tree) { if (isFunctionExpression(tree.value())) { checkName(tree.key()); } super.visitPairProperty(tree); }
@Override public void visitCallExpression(CallExpressionTree tree) { if (tree.types().contains(Type.Kind.BACKBONE_MODEL) && !tree.argumentClause().arguments().isEmpty()) { Tree parameter = tree.argumentClause().arguments().get(0); if (parameter.is(Kind.OBJECT_LITERAL)) { PairPropertyTree defaultsProp = Backbone.getModelProperty((ObjectLiteralTree) parameter, "defaults"); if (defaultsProp != null && defaultsProp.value().is(Kind.OBJECT_LITERAL) && hasObjectOrArrayAttribute((ObjectLiteralTree) defaultsProp.value())) { addIssue(defaultsProp.key(), MESSAGE); } } } super.visitCallExpression(tree); }
@Override public void visitCallExpression(CallExpressionTree tree) { if (tree.types().contains(Type.Kind.BACKBONE_MODEL) && !tree.arguments().parameters().isEmpty()) { Tree parameter = tree.arguments().parameters().get(0); if (parameter.is(Kind.OBJECT_LITERAL)) { PairPropertyTree defaultsProp = Backbone.getModelProperty((ObjectLiteralTree) parameter, "defaults"); if (defaultsProp != null && defaultsProp.value().is(Kind.OBJECT_LITERAL) && hasObjectOrArrayAttribute((ObjectLiteralTree) defaultsProp.value())) { getContext().addIssue(this, defaultsProp, "Make \"defaults\" a function."); } } } super.visitCallExpression(tree); }