javaclassexpr.java

来自「RESIN 3.2 最新源码」· Java 代码 · 共 104 行

JAVA
104
字号
/* * Copyright (c) 1998-2006 Caucho Technology -- all rights reserved * * This file is part of Resin(R) Open Source * * Each copy or derived work must preserve the copyright notice and this * notice unmodified. * * Resin Open Source is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Resin Open Source is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty * of NON-INFRINGEMENT.  See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License * along with Resin Open Source; if not, write to the *   Free SoftwareFoundation, Inc. *   59 Temple Place, Suite 330 *   Boston, MA 02111-1307  USA * * @author Scott Ferguson */package com.caucho.es.parser;import com.caucho.es.ESException;import java.io.IOException;import java.lang.reflect.Modifier;/** * Expression representing a java class object. */class JavaClassExpr extends Expr {  private String name;  private Class javaClass;  private TypeExpr javaType;  JavaClassExpr(Block block, Class javaClass)  {    super(block);    this.javaClass = javaClass;    if (javaClass.getName().indexOf('.') < 0)      block.function.cl.addJavaImport(javaClass.getName());  }  void setType(int type)  {  }  int getType()  {    return TYPE_ES;  }  Expr getTypeExpr()  {    return null;  }  /**   * The java type of a java class is java.lang.Class   */  Class getJavaType()  {    return Class.class;  }  /**   * Returns the java class.   */  Class getJavaClass()  {    return javaClass;  }  CallExpr startNew()    throws ESException  {    return new JavaNewExpr(block, javaClass);  }  CallExpr startCall()    throws ESException  {    return new JavaNewExpr(block, javaClass);  }  void printImpl() throws IOException  {    if (! Modifier.isPublic(javaClass.getModifiers()))      throw new IOException("can't create `" + javaClass.getName() + "'");        cl.print("_env.wrapClass(" + javaClass.getName() + ".class)");  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?