All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.checkerframework.dataflow.cfg.builder.Label Maven / Gradle / Ivy

package org.checkerframework.dataflow.cfg.builder;

/**
 * A label is used to refer to other extended nodes using a mapping from labels to extended nodes.
 * Labels get their names either from labeled statements in the source code or from internally
 * generated unique names.
 *
 * 

Note that this class is deliberately public, to enable users of the dataflow library to * customize CFG construction. */ public class Label { /** Unique id counter that incremented in {@code #uniqueName}. */ private static int uid = 0; protected final String name; public Label(String name) { this.name = name; } public Label() { this.name = uniqueName(); } @Override public String toString() { return name; } /** * Return a new unique label name that cannot be confused with a Java source code label. * * @return a new unique label name */ private static String uniqueName() { return "%L" + uid++; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy