DefaultSymtabFactory.java revision 608:7e06bf1dcb09
1258578Shrs/*
2258578Shrs * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
3258578Shrs * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
426219Swpaul *
5258578Shrs * This code is free software; you can redistribute it and/or modify it
6258578Shrs * under the terms of the GNU General Public License version 2 only, as
7258578Shrs * published by the Free Software Foundation.  Oracle designates this
8258578Shrs * particular file as subject to the "Classpath" exception as provided
9258578Shrs * by Oracle in the LICENSE file that accompanied this code.
10258578Shrs *
11258578Shrs * This code is distributed in the hope that it will be useful, but WITHOUT
12258578Shrs * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13258578Shrs * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14258578Shrs * version 2 for more details (a copy is included in the LICENSE file that
15258578Shrs * accompanied this code).
16258578Shrs *
17258578Shrs * You should have received a copy of the GNU General Public License version
18258578Shrs * 2 along with this work; if not, write to the Free Software Foundation,
19258578Shrs * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20258578Shrs *
21258578Shrs * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22258578Shrs * or visit www.oracle.com if you need additional information or have any
23258578Shrs * questions.
24258578Shrs */
25258578Shrs/*
26258578Shrs * COMPONENT_NAME: idl.parser
2726219Swpaul *
28136581Sobrien * ORIGINS: 27
29136581Sobrien *
3026219Swpaul * Licensed Materials - Property of IBM
3126219Swpaul * 5639-D57 (C) COPYRIGHT International Business Machines Corp. 1997, 1999
3292990Sobrien * RMI-IIOP v1.0
3392990Sobrien *
34136581Sobrien */
3526219Swpaul
3626219Swpaulpackage com.sun.tools.corba.se.idl;
3726219Swpaul
3826219Swpaul// NOTES:
3926219Swpaul
4026219Swpaul/**
4174462Salfred * This factory constructs the default symbol table entries, namely,
4226219Swpaul * those declared within the package com.sun.tools.corba.se.idl.
4326219Swpaul **/
4426219Swpaulpublic class DefaultSymtabFactory implements SymtabFactory
4526219Swpaul{
4626219Swpaul  public AttributeEntry attributeEntry ()
4726219Swpaul  {
4826219Swpaul    return new AttributeEntry ();
4926219Swpaul  } // attributeEntry
5026219Swpaul
5126219Swpaul  public AttributeEntry attributeEntry (InterfaceEntry container, IDLID id)
5226219Swpaul  {
5326219Swpaul    return new AttributeEntry (container, id);
5426219Swpaul  } // attributeEntry
5526219Swpaul
5674462Salfred  public ConstEntry constEntry ()
5726219Swpaul  {
5826219Swpaul    return new ConstEntry ();
59137675Sbz  } // constEntry
6026219Swpaul
61137675Sbz  public ConstEntry constEntry (SymtabEntry container, IDLID id)
6226219Swpaul  {
6326219Swpaul    return new ConstEntry (container, id);
6492905Sobrien  } // constEntry
6592905Sobrien
6626219Swpaul  public NativeEntry nativeEntry ()
6726219Swpaul  {
6826219Swpaul    return new NativeEntry ();
6926219Swpaul  } // interfaceEntry
7026219Swpaul
71288113Srodrigc  public NativeEntry nativeEntry (SymtabEntry container, IDLID id)
72288113Srodrigc  {
7326219Swpaul    return new NativeEntry (container, id);
7426219Swpaul  } // interfaceEntry
7526219Swpaul
7626219Swpaul  public EnumEntry enumEntry ()
7737300Sbde  {
7826219Swpaul    return new EnumEntry ();
7926219Swpaul  } // enumEntry
8026219Swpaul
8126219Swpaul  public EnumEntry enumEntry (SymtabEntry container, IDLID id)
8226219Swpaul  {
8326219Swpaul    return new EnumEntry (container, id);
8426219Swpaul  } // enumEntry
8526219Swpaul
8665220Sache  public ExceptionEntry exceptionEntry ()
8765220Sache  {
8865220Sache    return new ExceptionEntry ();
8926219Swpaul  } // exceptionEntry
9026219Swpaul
9165220Sache  public ExceptionEntry exceptionEntry (SymtabEntry container, IDLID id)
9265220Sache  {
9326219Swpaul    return new ExceptionEntry (container, id);
9426219Swpaul  } // exceptionEntry
9526219Swpaul
9665220Sache  public ForwardEntry forwardEntry ()
97194498Sbrooks  {
9865220Sache    return new ForwardEntry ();
9926219Swpaul  } // forwardEntry
10026219Swpaul
10126219Swpaul  public ForwardEntry forwardEntry (ModuleEntry container, IDLID id)
10226219Swpaul  {
10326219Swpaul    return new ForwardEntry (container, id);
10426219Swpaul  } // forwardEntry
10526219Swpaul
10626219Swpaul  public ForwardValueEntry forwardValueEntry ()
10726219Swpaul  {
10826219Swpaul    return new ForwardValueEntry ();
10926219Swpaul  } // forwardValueEntry
11026219Swpaul
11126219Swpaul  public ForwardValueEntry forwardValueEntry (ModuleEntry container, IDLID id)
11226219Swpaul  {
11326219Swpaul    return new ForwardValueEntry (container, id);
11426219Swpaul  } // forwardValueEntry
11526219Swpaul
11626219Swpaul  public IncludeEntry includeEntry ()
11726219Swpaul  {
11826219Swpaul    return new IncludeEntry ();
11926219Swpaul  } // includeEntry
12026219Swpaul
12126219Swpaul  public IncludeEntry includeEntry (SymtabEntry container)
12290271Salfred  {
12326219Swpaul    return new IncludeEntry (container);
12426219Swpaul  } // includeEntry
12526219Swpaul
12626219Swpaul  public InterfaceEntry interfaceEntry ()
12726219Swpaul  {
12826219Swpaul    return new InterfaceEntry ();
12937300Sbde  } // interfaceEntry
13026219Swpaul
13137300Sbde  public InterfaceEntry interfaceEntry (ModuleEntry container, IDLID id)
13237300Sbde  {
13326219Swpaul    return new InterfaceEntry (container, id);
13426219Swpaul  } // interfaceEntry
13526219Swpaul
13626219Swpaul  public ValueEntry valueEntry ()
13726219Swpaul  {
13826219Swpaul    return new ValueEntry ();
13926219Swpaul  } // valueEntry
14026219Swpaul
14126219Swpaul  public ValueEntry valueEntry (ModuleEntry container, IDLID id)
14226219Swpaul  {
14326219Swpaul    return new ValueEntry (container, id);
14426219Swpaul  } // valueEntry
14526219Swpaul
14626219Swpaul  public ValueBoxEntry valueBoxEntry ()
14726219Swpaul  {
148288113Srodrigc    return new ValueBoxEntry ();
14926219Swpaul  } // valueBoxEntry
15026219Swpaul
15192889Sobrien  public ValueBoxEntry valueBoxEntry (ModuleEntry container, IDLID id)
15292889Sobrien  {
15392889Sobrien    return new ValueBoxEntry (container, id);
15426219Swpaul  } // valueBoxEntry
15526219Swpaul
15626219Swpaul  public MethodEntry methodEntry ()
15726219Swpaul  {
15826219Swpaul    return new MethodEntry ();
15926219Swpaul  } // methodEntry
160194498Sbrooks
16126219Swpaul  public MethodEntry methodEntry (InterfaceEntry container, IDLID id)
16226219Swpaul  {
16326219Swpaul    return new MethodEntry (container, id);
16426219Swpaul  } // methodEntry
16526219Swpaul
16626219Swpaul  public ModuleEntry moduleEntry ()
16726219Swpaul  {
16826219Swpaul    return new ModuleEntry ();
16926219Swpaul  } // moduleEntry
17026219Swpaul
17126219Swpaul  public ModuleEntry moduleEntry (ModuleEntry container, IDLID id)
17226219Swpaul  {
17326219Swpaul    return new ModuleEntry (container, id);
17426219Swpaul  } // moduleEntry
17526219Swpaul
17626219Swpaul  public ParameterEntry parameterEntry ()
17726219Swpaul  {
17826219Swpaul    return new ParameterEntry ();
17926219Swpaul  } // parameterEntry
18026219Swpaul
18126219Swpaul  public ParameterEntry parameterEntry (MethodEntry container, IDLID id)
18226219Swpaul  {
18326219Swpaul    return new ParameterEntry (container, id);
18426219Swpaul  } // parameterEntry
18526219Swpaul
18626219Swpaul  public PragmaEntry pragmaEntry ()
187288113Srodrigc  {
18826219Swpaul    return new PragmaEntry ();
18926219Swpaul  } // pragmaEntry
19026219Swpaul
19126219Swpaul  public PragmaEntry pragmaEntry (SymtabEntry container)
19226219Swpaul  {
19326219Swpaul    return new PragmaEntry (container);
19426219Swpaul  } // pragmaEntry
19526219Swpaul
19626219Swpaul  public PrimitiveEntry primitiveEntry ()
19726219Swpaul  {
19826219Swpaul    return new PrimitiveEntry ();
19926219Swpaul  } // primitiveEntry
20026219Swpaul
20126219Swpaul  /** "name" can be, but is not limited to, the primitive idl type names:
20226219Swpaul      'char', 'octet', 'short', 'long', etc.  The reason it is not limited
20326219Swpaul      to these is that, as an extender, you may wish to override these names.
20426219Swpaul      For instance, when generating Java code, octet translates to byte, so
20526219Swpaul      there is an entry in Compile.overrideNames:  <"octet", "byte"> and a
20626219Swpaul      PrimitiveEntry in the symbol table for "byte". */
20726219Swpaul  public PrimitiveEntry primitiveEntry (String name)
20826219Swpaul  {
20926219Swpaul    return new PrimitiveEntry (name);
21026219Swpaul  } // primitiveEntry
21126219Swpaul
21226219Swpaul  public SequenceEntry sequenceEntry ()
21326219Swpaul  {
21426219Swpaul    return new SequenceEntry ();
21526219Swpaul  } // sequenceEntry
21626219Swpaul
21726219Swpaul  public SequenceEntry sequenceEntry (SymtabEntry container, IDLID id)
21890271Salfred  {
21926219Swpaul    return new SequenceEntry (container, id);
22026219Swpaul  } // sequenceEntry
22126219Swpaul
22226219Swpaul  public StringEntry stringEntry ()
22326219Swpaul  {
22426219Swpaul    return new StringEntry ();
22526219Swpaul  } // stringEntry
22626219Swpaul
22726219Swpaul  public StructEntry structEntry ()
22826219Swpaul  {
22926219Swpaul    return new StructEntry ();
23026219Swpaul  } // structEntry
23126219Swpaul
23226219Swpaul  public StructEntry structEntry (SymtabEntry container, IDLID id)
233288113Srodrigc  {
23426219Swpaul    return new StructEntry (container, id);
23526219Swpaul  } // structEntry
23626219Swpaul
23726219Swpaul  public TypedefEntry typedefEntry ()
23826219Swpaul  {
23926219Swpaul    return new TypedefEntry ();
24026219Swpaul  } // typedefEntry
24126219Swpaul
24226219Swpaul  public TypedefEntry typedefEntry (SymtabEntry container, IDLID id)
24326219Swpaul  {
24426219Swpaul    return new TypedefEntry (container, id);
24526219Swpaul  } // typedefEntry
246300387Sngie
24726219Swpaul  public UnionEntry unionEntry ()
248300387Sngie  {
249300387Sngie    return new UnionEntry ();
25026219Swpaul  } // unionEntry
25165220Sache
25226219Swpaul  public UnionEntry unionEntry (SymtabEntry container, IDLID id)
25326219Swpaul  {
25426219Swpaul    return new UnionEntry (container, id);
25526219Swpaul  } // unionEntry
25626219Swpaul
25726219Swpaul} // interface DefaultSymtabFactory
25826219Swpaul