ArrayLengthToken.java :  » Scripting » gml-tracer » de » hauschild » gmltracer » gml » impl » array » Java Open Source

Java Open Source » Scripting » gml tracer 
gml tracer » de » hauschild » gmltracer » gml » impl » array » ArrayLengthToken.java
package de.hauschild.gmltracer.gml.impl.array;

import de.hauschild.gmltracer.gml.Environment;
import de.hauschild.gmltracer.gml.TokenStack;
import de.hauschild.gmltracer.gml.impl.AbstractToken;
import de.hauschild.gmltracer.gml.impl.value.integer.IntegerToken;

/**
 * Pops a {@link ArrayToken} and pushes its length as {@link IntegerToken}.
 * 
 * @author Klaus Hauschild
 * @since 1.0.0
 */
public class ArrayLengthToken extends AbstractToken {

  @SuppressWarnings("boxing")
  @Override
  public void evaluate(final Environment environment, final TokenStack tokenStack) {
    final ArrayToken array = tokenStack.pop(ArrayToken.class);

    tokenStack.push(new IntegerToken(array.getLength()));
  }

  @Override
  public String toString() {
    return "length"; //$NON-NLS-1$
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.