@Override public void generate(@Nonnull final JSFormatter f) { if (this.m_aCallee instanceof JSAnonymousFunction) { // It's an anonymous function f.generatable(((JSAnonymousFunction) this.m_aCallee).inParantheses()).plain('('); } else if (this.m_aCtorType != null) { // It's a constructor call f.plain("new ").generatable(this.m_aCtorType).plain('('); } else { // Find name String sName = this.m_sName; if (sName == null && this.m_aCallee instanceof IJSDeclaration) sName = ((IJSDeclaration) this.m_aCallee).name(); if (this.m_aObject != null) { // Regular object method invocation if (sName == null) throw new IllegalStateException("Name is required if an object is present"); f.generatable(this.m_aObject).plain('.').plain(sName).plain('('); } else if (sName != null) { // E.g. global function f.plain(sName).plain('('); } } // Add the arguments f.generatable(this.m_aArgs).plain(')'); }
@Override public void state(@Nonnull final JSFormatter f) { f.generatable(this).plain(';').nl(); }
public void generate(@Nonnull final JSFormatter aFormatter) { if (m_bOpFirst) aFormatter.plain(m_sOp).generatable(m_aExpr); else aFormatter.generatable(m_aExpr).plain(m_sOp); }