Definitions.java revision 415
0N/A * The contents of this file are subject to the terms of the 0N/A * Common Development and Distribution License (the "License"). 0N/A * You may not use this file except in compliance with the License. 0N/A * language governing permissions and limitations under the License. 0N/A * When distributing Covered Code, include this CDDL HEADER in each 0N/A * If applicable, add the following below this CDDL HEADER, with the 0N/A * fields enclosed by brackets "[]" replaced with your own identifying 0N/A * information: Portions Copyright [yyyy] [name of copyright owner] 0N/A * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 0N/A * Use is subject to license terms. 0N/A /** Map from symbol to the line numbers on which the symbol is defined. */ 0N/A /** List of all the tags. */ 0N/A * Get all symbols used in definitions. 0N/A * @return a set containing all the symbols 0N/A * Check if there is a tag for a symbol. 0N/A * @param symbol the symbol to check 0N/A * @return {@code true} iff there is a tag for {@code symbol} 0N/A * Check whether the specified symbol is defined on the given line. 0N/A * @param symbol the symbol to look for 0N/A * @param lineNumber the line to check 0N/A * @return {@code true} iff {@code symbol} is defined on the specified line 0N/A * Return the number of occurrences of definitions with the specified 0N/A * @param symbol the symbol to count the occurrences of 0N/A * @return the number of times the specified symbol is defined 0N/A * Return the number of distinct symbols. 0N/A * @return number of distinct symbols 0N/A * Get a list of all tags. 0N/A * Class that represents a single tag. /** Line number of the tag. */ /** The symbol used in the definition. */ /** The type of the tag. */ /** The full line on which the definition occurs. */ // The strings are frequently repeated (a symbol can be used in // multiple definitions, multiple definitions can have the same type, // one line can contain multiple definitions). Intern them to minimize // the space consumed by them (see bug #809). * Create a binary representation of this object. * @return a byte array representing this object * @throws IOException if an error happens when writing to the array * Deserialize a binary representation of a {@code Definitions} object. * @param bytes a byte array containing the {@code Definitions} object * @return a {@code Definitions} object * @throws IOException if an I/O error happens when reading the array * @throws ClassNotFoundException if the class definition for an object * stored in the byte array cannot be found * @throws ClassCastException if the array contains an object of another * type than {@code Definitions}