001 package org.mesopotamia.lang.java; 002 003 import org.mesopotamia.LanguageElement; 004 import org.mesopotamia.MesopotamiaException; 005 import org.mesopotamia.MesopotamiaRuntimeException; 006 import org.mesopotamia.NodeData; 007 import org.mesopotamia.RepositoryLanguage; 008 import org.mesopotamia.Scan; 009 import org.mesopotamia.lang.java.ref.Reference; 010 import org.mesopotamia.lang.java.ref.TypeSpecInfo; 011 012 public class Parenthesis extends PrimaryExpression implements Reference<JavaLanguageElement> { 013 014 public Parenthesis(NodeData xData, Class<?> context, Scan scan, 015 RepositoryLanguage language, Object environment) throws MesopotamiaException { 016 super(xData, context, scan, language, environment); 017 018 // Select attributes 019 020 } 021 022 @SuppressWarnings("unchecked") 023 public JavaLanguageElement getInfo() { 024 try { 025 LanguageElement child = getChild(0); 026 if (child instanceof Reference) { 027 return ((Reference<JavaLanguageElement>) child).getInfo(); 028 } 029 } catch (MesopotamiaException e) { 030 throw new MesopotamiaRuntimeException(e); 031 } 032 return null; 033 } 034 035 public TypeSpecInfo getTypeSpecInfo() { 036 try { 037 LanguageElement firstOperand = getChild(0); 038 return firstOperand instanceof Expression ? ((Expression) firstOperand).getTypeSpecInfo() : null; 039 } catch (MesopotamiaException e) { 040 throw new MesopotamiaRuntimeException(e); 041 } 042 } 043 044 }