/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser.statements; import gw.internal.gosu.parser.Statement; import gw.lang.parser.statements.IClassFileStatement; import gw.lang.parser.statements.INamespaceStatement; import gw.lang.parser.statements.ITerminalStatement; import gw.lang.reflect.module.IModule; /** */ public class NamespaceStatement extends Statement implements INamespaceStatement { private String _strNamespace; public NamespaceStatement() { } public String getNamespace() { return _strNamespace; } public void setNamespace( String strNamespace ) { _strNamespace = strNamespace == null ? null : strNamespace.intern(); } public Object execute() { // no-op return Statement.VOID_RETURN_VALUE; } @Override protected ITerminalStatement getLeastSignificantTerminalStatement_internal( boolean[] bAbsolute ) { bAbsolute[0] = false; return null; } @Override public boolean isNoOp() { return true; } @Override public String toString() { return "package " + getNamespace(); } public IModule getModule() { IClassFileStatement cfs = (IClassFileStatement) getParent(); return cfs.getGosuClass().getTypeLoader().getModule(); } }