1 /*
   2  * Copyright (c) 1997, 2012, 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 package com.sun.codemodel.internal;
  27 
  28 /**
  29  * Provides default implementations for {@link JExpression}.
  30  */
  31 public abstract class JExpressionImpl implements JExpression
  32 {
  33     //
  34     //
  35     // from JOp
  36     //
  37     //
  38     public final JExpression minus() {
  39         return JOp.minus(this);
  40     }
  41 
  42     /**
  43      * Logical not {@code '!x'}.
  44      */
  45     public final JExpression not() {
  46         return JOp.not(this);
  47     }
  48 
  49     public final JExpression complement() {
  50         return JOp.complement(this);
  51     }
  52 
  53     public final JExpression incr() {
  54         return JOp.incr(this);
  55     }
  56 
  57     public final JExpression decr() {
  58         return JOp.decr(this);
  59     }
  60 
  61     public final JExpression plus(JExpression right) {
  62         return JOp.plus(this, right);
  63     }
  64 
  65     public final JExpression minus(JExpression right) {
  66         return JOp.minus(this, right);
  67     }
  68 
  69     public final JExpression mul(JExpression right) {
  70         return JOp.mul(this, right);
  71     }
  72 
  73     public final JExpression div(JExpression right) {
  74         return JOp.div(this, right);
  75     }
  76 
  77     public final JExpression mod(JExpression right) {
  78         return JOp.mod(this, right);
  79     }
  80 
  81     public final JExpression shl(JExpression right) {
  82         return JOp.shl(this, right);
  83     }
  84 
  85     public final JExpression shr(JExpression right) {
  86         return JOp.shr(this, right);
  87     }
  88 
  89     public final JExpression shrz(JExpression right) {
  90         return JOp.shrz(this, right);
  91     }
  92 
  93     public final JExpression band(JExpression right) {
  94         return JOp.band(this, right);
  95     }
  96 
  97     public final JExpression bor(JExpression right) {
  98         return JOp.bor(this, right);
  99     }
 100 
 101     public final JExpression cand(JExpression right) {
 102         return JOp.cand(this, right);
 103     }
 104 
 105     public final JExpression cor(JExpression right) {
 106         return JOp.cor(this, right);
 107     }
 108 
 109     public final JExpression xor(JExpression right) {
 110         return JOp.xor(this, right);
 111     }
 112 
 113     public final JExpression lt(JExpression right) {
 114         return JOp.lt(this, right);
 115     }
 116 
 117     public final JExpression lte(JExpression right) {
 118         return JOp.lte(this, right);
 119     }
 120 
 121     public final JExpression gt(JExpression right) {
 122         return JOp.gt(this, right);
 123     }
 124 
 125     public final JExpression gte(JExpression right) {
 126         return JOp.gte(this, right);
 127     }
 128 
 129     public final JExpression eq(JExpression right) {
 130         return JOp.eq(this, right);
 131     }
 132 
 133     public final JExpression ne(JExpression right) {
 134         return JOp.ne(this, right);
 135     }
 136 
 137     public final JExpression _instanceof(JType right) {
 138         return JOp._instanceof(this, right);
 139     }
 140 
 141     //
 142     //
 143     // from JExpr
 144     //
 145     //
 146     public final JInvocation invoke(JMethod method) {
 147         return JExpr.invoke(this, method);
 148     }
 149 
 150     public final JInvocation invoke(String method) {
 151         return JExpr.invoke(this, method);
 152     }
 153 
 154     public final JFieldRef ref(JVar field) {
 155         return JExpr.ref(this, field);
 156     }
 157 
 158     public final JFieldRef ref(String field) {
 159         return JExpr.ref(this, field);
 160     }
 161 
 162     public final JArrayCompRef component(JExpression index) {
 163         return JExpr.component(this, index);
 164     }
 165 }