01: package org.jacorb.idl;
02:
03: /*
04: * JacORB - a free Java ORB
05: *
06: * Copyright (C) 1997-2004 Gerald Brose.
07: *
08: * This library is free software; you can redistribute it and/or
09: * modify it under the terms of the GNU Library General Public
10: * License as published by the Free Software Foundation; either
11: * version 2 of the License, or (at your option) any later version.
12: *
13: * This library is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16: * Library General Public License for more details.
17: *
18: * You should have received a copy of the GNU Library General Public
19: * License along with this library; if not, write to the Free
20: * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21: */
22:
23: import java.io.PrintWriter;
24:
25: /**
26: * @author Gerald Brose
27: * @version $Id: UnaryExpr.java,v 1.14 2006/06/19 10:34:57 alphonse.bendt Exp $
28: */
29:
30: public class UnaryExpr extends IdlSymbol {
31: public String unary_op = "";
32: public PrimaryExpr primary_expr;
33:
34: public UnaryExpr(int num) {
35: super (num);
36: }
37:
38: public void print(PrintWriter ps) {
39: ps.print(unary_op);
40: primary_expr.print(ps);
41: }
42:
43: public void setDeclaration(ConstDecl declared_in) {
44: primary_expr.setDeclaration(declared_in);
45: }
46:
47: public void setPackage(String s) {
48: s = parser.pack_replace(s);
49: if (pack_name.length() > 0)
50: pack_name = s + "." + pack_name;
51: else
52: pack_name = s;
53: primary_expr.setPackage(s);
54: }
55:
56: public void parse() {
57: primary_expr.parse();
58: }
59:
60: int pos_int_const() {
61: int y = primary_expr.pos_int_const();
62: if (!unary_op.equals("")) {
63: if (unary_op.equals("-")) {
64: return y * -1;
65: }
66: return y;
67: }
68: return y;
69: }
70:
71: public String value() {
72: return unary_op + primary_expr.value();
73: }
74:
75: public String toString() {
76: return unary_op.toString() + primary_expr.toString();
77: }
78:
79: public str_token get_token() {
80: return primary_expr.get_token();
81: }
82: }
|