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 
36 package com.sun.tools.corba.se.idl;
37 
38 // NOTES:
39 
40 import java.io.PrintWriter;
41 import java.util.Hashtable;
42 
43 /**
44  * This is the symbol table entry for the #pragma statement.
45  **/
46 public class PragmaEntry extends SymtabEntry
47 {
PragmaEntry()48   protected PragmaEntry ()
49   {
50     super ();
51     repositoryID (Util.emptyID);
52   } // ctor
53 
PragmaEntry(SymtabEntry that)54   protected PragmaEntry (SymtabEntry that)
55   {
56     super (that, new IDLID ());
57     module (that.name ());
58     name ("");
59   } // ctor
60 
PragmaEntry(PragmaEntry that)61   protected PragmaEntry (PragmaEntry that)
62   {
63     super (that);
64   } // ctor
65 
clone()66   public Object clone ()
67   {
68     return new PragmaEntry (this);
69   } // clone
70 
71   /** Invoke the Include type generator.
72       @param symbolTable the symbol table is a hash table whose key is
73        a fully qualified type name and whose value is a SymtabEntry or
74        a subclass of SymtabEntry.
75       @param stream the stream to which the generator should sent its output.
76       @see SymtabEntry */
generate(Hashtable symbolTable, PrintWriter stream)77   public void generate (Hashtable symbolTable, PrintWriter stream)
78   {
79     pragmaGen.generate (symbolTable, this, stream);
80   } // generate
81 
82   /** Access the Include type generator.
83       @returns an object which implements the IncludeGen interface.
84       @see IncludeGen */
generator()85   public Generator generator ()
86   {
87     return pragmaGen;
88   } // generator
89 
data()90   public String data ()
91   {
92     return _data;
93   } // data
94 
data(String newData)95   public void data (String newData)
96   {
97     _data = newData;
98   } // data
99 
100   static PragmaGen pragmaGen;
101 
102   private String _data = null;
103 } // class PragmaEntry
104