1 /*
   2  * Copyright (c) 1999, 2004, 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 /**
  41  * This factory constructs the default symbol table entries, namely,
  42  * those declared within the package com.sun.tools.corba.se.idl.
  43  **/
  44 public class DefaultSymtabFactory implements SymtabFactory
  45 {
  46   public AttributeEntry attributeEntry ()
  47   {
  48     return new AttributeEntry ();
  49   } // attributeEntry
  50 
  51   public AttributeEntry attributeEntry (InterfaceEntry container, IDLID id)
  52   {
  53     return new AttributeEntry (container, id);
  54   } // attributeEntry
  55 
  56   public ConstEntry constEntry ()
  57   {
  58     return new ConstEntry ();
  59   } // constEntry
  60 
  61   public ConstEntry constEntry (SymtabEntry container, IDLID id)
  62   {
  63     return new ConstEntry (container, id);
  64   } // constEntry
  65 
  66   public NativeEntry nativeEntry ()
  67   {
  68     return new NativeEntry ();
  69   } // interfaceEntry
  70 
  71   public NativeEntry nativeEntry (SymtabEntry container, IDLID id)
  72   {
  73     return new NativeEntry (container, id);
  74   } // interfaceEntry
  75 
  76   public EnumEntry enumEntry ()
  77   {
  78     return new EnumEntry ();
  79   } // enumEntry
  80 
  81   public EnumEntry enumEntry (SymtabEntry container, IDLID id)
  82   {
  83     return new EnumEntry (container, id);
  84   } // enumEntry
  85 
  86   public ExceptionEntry exceptionEntry ()
  87   {
  88     return new ExceptionEntry ();
  89   } // exceptionEntry
  90 
  91   public ExceptionEntry exceptionEntry (SymtabEntry container, IDLID id)
  92   {
  93     return new ExceptionEntry (container, id);
  94   } // exceptionEntry
  95 
  96   public ForwardEntry forwardEntry ()
  97   {
  98     return new ForwardEntry ();
  99   } // forwardEntry
 100 
 101   public ForwardEntry forwardEntry (ModuleEntry container, IDLID id)
 102   {
 103     return new ForwardEntry (container, id);
 104   } // forwardEntry
 105 
 106   public ForwardValueEntry forwardValueEntry ()
 107   {
 108     return new ForwardValueEntry ();
 109   } // forwardValueEntry
 110 
 111   public ForwardValueEntry forwardValueEntry (ModuleEntry container, IDLID id)
 112   {
 113     return new ForwardValueEntry (container, id);
 114   } // forwardValueEntry
 115 
 116   public IncludeEntry includeEntry ()
 117   {
 118     return new IncludeEntry ();
 119   } // includeEntry
 120 
 121   public IncludeEntry includeEntry (SymtabEntry container)
 122   {
 123     return new IncludeEntry (container);
 124   } // includeEntry
 125 
 126   public InterfaceEntry interfaceEntry ()
 127   {
 128     return new InterfaceEntry ();
 129   } // interfaceEntry
 130 
 131   public InterfaceEntry interfaceEntry (ModuleEntry container, IDLID id)
 132   {
 133     return new InterfaceEntry (container, id);
 134   } // interfaceEntry
 135 
 136   public ValueEntry valueEntry ()
 137   {
 138     return new ValueEntry ();
 139   } // valueEntry
 140 
 141   public ValueEntry valueEntry (ModuleEntry container, IDLID id)
 142   {
 143     return new ValueEntry (container, id);
 144   } // valueEntry
 145 
 146   public ValueBoxEntry valueBoxEntry ()
 147   {
 148     return new ValueBoxEntry ();
 149   } // valueBoxEntry
 150 
 151   public ValueBoxEntry valueBoxEntry (ModuleEntry container, IDLID id)
 152   {
 153     return new ValueBoxEntry (container, id);
 154   } // valueBoxEntry
 155 
 156   public MethodEntry methodEntry ()
 157   {
 158     return new MethodEntry ();
 159   } // methodEntry
 160 
 161   public MethodEntry methodEntry (InterfaceEntry container, IDLID id)
 162   {
 163     return new MethodEntry (container, id);
 164   } // methodEntry
 165 
 166   public ModuleEntry moduleEntry ()
 167   {
 168     return new ModuleEntry ();
 169   } // moduleEntry
 170 
 171   public ModuleEntry moduleEntry (ModuleEntry container, IDLID id)
 172   {
 173     return new ModuleEntry (container, id);
 174   } // moduleEntry
 175 
 176   public ParameterEntry parameterEntry ()
 177   {
 178     return new ParameterEntry ();
 179   } // parameterEntry
 180 
 181   public ParameterEntry parameterEntry (MethodEntry container, IDLID id)
 182   {
 183     return new ParameterEntry (container, id);
 184   } // parameterEntry
 185 
 186   public PragmaEntry pragmaEntry ()
 187   {
 188     return new PragmaEntry ();
 189   } // pragmaEntry
 190 
 191   public PragmaEntry pragmaEntry (SymtabEntry container)
 192   {
 193     return new PragmaEntry (container);
 194   } // pragmaEntry
 195 
 196   public PrimitiveEntry primitiveEntry ()
 197   {
 198     return new PrimitiveEntry ();
 199   } // primitiveEntry
 200 
 201   /** "name" can be, but is not limited to, the primitive idl type names:
 202       'char', 'octet', 'short', 'long', etc.  The reason it is not limited
 203       to these is that, as an extender, you may wish to override these names.
 204       For instance, when generating Java code, octet translates to byte, so
 205       there is an entry in Compile.overrideNames: {@code <"octet", "byte">} and a
 206       PrimitiveEntry in the symbol table for "byte". */
 207   public PrimitiveEntry primitiveEntry (String name)
 208   {
 209     return new PrimitiveEntry (name);
 210   } // primitiveEntry
 211 
 212   public SequenceEntry sequenceEntry ()
 213   {
 214     return new SequenceEntry ();
 215   } // sequenceEntry
 216 
 217   public SequenceEntry sequenceEntry (SymtabEntry container, IDLID id)
 218   {
 219     return new SequenceEntry (container, id);
 220   } // sequenceEntry
 221 
 222   public StringEntry stringEntry ()
 223   {
 224     return new StringEntry ();
 225   } // stringEntry
 226 
 227   public StructEntry structEntry ()
 228   {
 229     return new StructEntry ();
 230   } // structEntry
 231 
 232   public StructEntry structEntry (SymtabEntry container, IDLID id)
 233   {
 234     return new StructEntry (container, id);
 235   } // structEntry
 236 
 237   public TypedefEntry typedefEntry ()
 238   {
 239     return new TypedefEntry ();
 240   } // typedefEntry
 241 
 242   public TypedefEntry typedefEntry (SymtabEntry container, IDLID id)
 243   {
 244     return new TypedefEntry (container, id);
 245   } // typedefEntry
 246 
 247   public UnionEntry unionEntry ()
 248   {
 249     return new UnionEntry ();
 250   } // unionEntry
 251 
 252   public UnionEntry unionEntry (SymtabEntry container, IDLID id)
 253   {
 254     return new UnionEntry (container, id);
 255   } // unionEntry
 256 
 257 } // interface DefaultSymtabFactory