Package anvil.script.compiler

Source Code of anvil.script.compiler.DispatcherHelper

/*
* $Id: DispatcherHelper.java,v 1.2 2002/09/16 08:05:04 jkl Exp $
*
* Copyright (c) 2002 Njet Communications Ltd. All Rights Reserved.
*
* Use is subject to license terms, as defined in
* Anvil Sofware License, Version 1.1. See LICENSE
* file, or http://njet.org/license-1.1.txt
*/
package anvil.script.compiler;

import anvil.core.Any;
import anvil.core.AnyTuple;
import anvil.core.Array;

public class DispatcherHelper
{
 
  public static final Array gather1()
  {
    return new Array();
  }

  public static final Array gather1(Any p1)
  {
    return new Array().append(p1);
  }

  public static final Array gather1(Any p1, Any p2)
  {
    return new Array().append(p1).append(p2);
  }

  public static final Array gather1(Any p1, Any p2, Any p3)
  {
    return new Array().append(p1).append(p2).append(p3);
  }

  public static final Array gather1(Any p1, Any p2, Any p3, Any p4)
  {
    return new Array().append(p1).append(p2).append(p3).append(p4);
 
 
 
  public static final Any[] gather2()
  {
    return Any.ARRAY0;
  }

  public static final Any[] gather2(Any p1)
  {
    return new Any[] { p1 };
  }

  public static final Any[] gather2(Any p1, Any p2)
  {
    return new Any[] { p1, p2 };
  }

  public static final Any[] gather2(Any p1, Any p2, Any p3)
  {
    return new Any[] { p1, p2, p3 };
  }

  public static final Any[] gather2(Any p1, Any p2, Any p3, Any p4)
  {
    return new Any[] { p1, p2, p3, p4 };
  }


  public static final AnyTuple gather3()
  {
    return new AnyTuple(Any.ARRAY0);
  }

  public static final AnyTuple gather3(Any p1)
  {
    return new AnyTuple(new Any[] { p1 });
  }

  public static final AnyTuple gather3(Any p1, Any p2)
  {
    return new AnyTuple(new Any[] { p1, p2 });
  }

  public static final AnyTuple gather3(Any p1, Any p2, Any p3)
  {
    return new AnyTuple(new Any[] { p1, p2, p3 });
  }

  public static final AnyTuple gather3(Any p1, Any p2, Any p3, Any p4)
  {
    return new AnyTuple(new Any[] { p1, p2, p3, p4 });
  }


  public static final Array rest1(Any[] parameters, int start)
  {
    Array array = new Array();
    int n = parameters.length;
    while(start < n) {
      array.append(parameters[start++]);
    }
    return array;
  }


  public static final Any[] rest2(Any[] parameters, int start)
  {
    if (start == 0) {
      return parameters;
    }
    int n = parameters.length;
    int m = n - start;
    if (m == 0) {
      return Any.ARRAY0;
    }
    Any[] rest = new Any[m];
    System.arraycopy(parameters, start, rest, 0, m);
    return rest;
  }
 
 
  public static final AnyTuple rest3(Any[] parameters, int start)
  {
    if (start == 0) {
      return new AnyTuple(parameters);
    }
    int n = parameters.length;
    int m = n - start;
    if (m == 0) {
      return Any.EMPTY_TUPLE;
    }
    Any[] rest = new Any[m];
    System.arraycopy(parameters, start, rest, 0, m);
    return new AnyTuple(rest);
 
 
}
TOP

Related Classes of anvil.script.compiler.DispatcherHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.