/core/src/com/bluemarsh/jswat/core/expr/TypeNode.java
Java | 64 lines | 16 code | 6 blank | 42 comment | 0 complexity | b0fb9f275f3c745c1de44a91674767d3 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
1/* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is JSwat. The Initial Developer of the Original 16 * Software is Nathan L. Fiedler. Portions created by Nathan L. Fiedler 17 * are Copyright (C) 2004-2010. All Rights Reserved. 18 * 19 * Contributor(s): Nathan L. Fiedler. 20 * 21 * $Id: TypeNode.java 287 2010-11-21 02:04:47Z nathanfiedler $ 22 */ 23package com.bluemarsh.jswat.core.expr; 24 25import com.bluemarsh.jswat.parser.node.Token; 26 27/** 28 * A TypeNode is one which has a specific type, as in a primitive or a 29 * reference type (e.g. "byte" or "com.sun.jdi.Bootstrap"). It does not 30 * evaluate to anything other than the type name. 31 * 32 * @author Nathan Fiedler 33 */ 34class TypeNode extends AbstractNode { 35 36 /** Type of the node. */ 37 private String type; 38 39 /** 40 * Creates a new instance of PrimitiveNode. 41 * 42 * @param node lexical token. 43 * @param type type of primitive (e.g. "byte"). 44 */ 45 TypeNode(Token node, String type) { 46 super(node); 47 this.type = type; 48 } 49 50 @Override 51 protected Object eval(EvaluationContext context) throws EvaluationException { 52 return type; 53 } 54 55 /** 56 * Returns the type of this node, either a primitive keyword 57 * ("byte") or a reference type name ("com.sun.jdi.Bootstrap"). 58 * 59 * @return type name. 60 */ 61 public String getTypeName() { 62 return type; 63 } 64}