Search in sources :

Example 1 with ConditionalOrNode

use of org.checkerframework.dataflow.cfg.node.ConditionalOrNode in project bazel by bazelbuild.

the class NodeUtils method isBooleanTypeNode.

/**
     * @return true iff <code>node</code> corresponds to a boolean typed
     *         expression (either the primitive type <code>boolean</code>, or
     *         class type {@link java.lang.Boolean})
     */
public static boolean isBooleanTypeNode(Node node) {
    if (node instanceof ConditionalOrNode) {
        return true;
    }
    // not all nodes have an associated tree, but those are all not of a
    // boolean type.
    Tree tree = node.getTree();
    if (tree == null) {
        return false;
    }
    Type type = ((JCTree) tree).type;
    if (TypesUtils.isBooleanType(type)) {
        return true;
    }
    return false;
}
Also used : Type(com.sun.tools.javac.code.Type) Tree(com.sun.source.tree.Tree) JCTree(com.sun.tools.javac.tree.JCTree) JCTree(com.sun.tools.javac.tree.JCTree) ConditionalOrNode(org.checkerframework.dataflow.cfg.node.ConditionalOrNode)

Aggregations

Tree (com.sun.source.tree.Tree)1 Type (com.sun.tools.javac.code.Type)1 JCTree (com.sun.tools.javac.tree.JCTree)1 ConditionalOrNode (org.checkerframework.dataflow.cfg.node.ConditionalOrNode)1