import { AccessibleObject } from './AccessibleObject';
import { Executable } from './Executable';

export class Parameter extends AccessibleObject {
  private _executable: Executable;
  private _type: any;
  private _index: number;
  private _name: string;

  public constructor(executable: Executable, parameterType: any, name: string, index: number) {
    super();
    this._executable = executable;
    this._type = parameterType;
    this._name = name;
    this._index = index;
  }

  public getDeclaringExecutable(): Executable {
    return this._executable;
  }

  public getType(): any {
    return this._type;
  }

  public getName(): string {
    return this._name;
  }

  public getIndex(): number {
    return this._index;
  }
}
