UnionBranch.java revision 608:7e06bf1dcb09
1/* 2 * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25/* 26 * COMPONENT_NAME: idl.parser 27 * 28 * ORIGINS: 27 29 * 30 * Licensed Materials - Property of IBM 31 * 5639-D57 (C) COPYRIGHT International Business Machines Corp. 1997, 1999 32 * RMI-IIOP v1.0 33 * 34 */ 35 36package com.sun.tools.corba.se.idl; 37 38// NOTES: 39 40import java.util.Vector; 41 42import com.sun.tools.corba.se.idl.TypedefEntry; 43 44/** 45 * This class encapsulates one branch of a union. Here are some examples 46 * of what it may contain: 47 * <dl> 48 * <dt> 49 * <pre> 50 * case 1: short x; 51 * </pre> 52 * <dd><short x, <1>, false> 53 * <dt> 54 * <pre> 55 * case 0: 56 * case 8: 57 * case 2: long x; 58 * </pre> 59 * <dd><long x, <0, 8, 2>, false> 60 * <dt> 61 * <pre> 62 * default: long x; 63 * </pre> 64 * <dd><long x, <>, true> 65 * <dt> 66 * <pre> 67 * case 0: 68 * case 2: 69 * default: char c; 70 * </pre> 71 * <dd><char c, <0, 2>, true> 72 * </dl> 73 **/ 74public class UnionBranch 75{ 76 /** The type definition for the branch. */ 77 public TypedefEntry typedef; 78 /** A vector of Expression's, one for each label in the order in which 79 they appear in the IDL file. The default branch has no label. */ 80 public Vector labels = new Vector (); 81 /** true if this is the default branch. */ 82 public boolean isDefault = false; 83} // class UnionBranch 84