You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Stmnt.java 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Javassist, a Java-bytecode translator toolkit.
  3. * Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved.
  4. *
  5. * The contents of this file are subject to the Mozilla Public License Version
  6. * 1.1 (the "License"); you may not use this file except in compliance with
  7. * the License. Alternatively, the contents of this file may be used under
  8. * the terms of the GNU Lesser General Public License Version 2.1 or later.
  9. *
  10. * Software distributed under the License is distributed on an "AS IS" basis,
  11. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12. * for the specific language governing rights and limitations under the
  13. * License.
  14. */
  15. package javassist.compiler.ast;
  16. import javassist.compiler.TokenId;
  17. import javassist.compiler.CompileError;
  18. /**
  19. * Statement.
  20. */
  21. public class Stmnt extends ASTList implements TokenId {
  22. protected int operatorId;
  23. public Stmnt(int op, ASTree _head, ASTList _tail) {
  24. super(_head, _tail);
  25. operatorId = op;
  26. }
  27. public Stmnt(int op, ASTree _head) {
  28. super(_head);
  29. operatorId = op;
  30. }
  31. public Stmnt(int op) {
  32. this(op, null);
  33. }
  34. public static Stmnt make(int op, ASTree oprand1, ASTree oprand2) {
  35. return new Stmnt(op, oprand1, new ASTList(oprand2));
  36. }
  37. public static Stmnt make(int op, ASTree op1, ASTree op2, ASTree op3) {
  38. return new Stmnt(op, op1, new ASTList(op2, new ASTList(op3)));
  39. }
  40. public void accept(Visitor v) throws CompileError { v.atStmnt(this); }
  41. public int getOperator() { return operatorId; }
  42. protected String getTag() {
  43. if (operatorId < 128)
  44. return "stmnt:" + (char)operatorId;
  45. else
  46. return "stmnt:" + operatorId;
  47. }
  48. }