/plugins/PHPParser/trunk/src/net/sourceforge/phpdt/internal/compiler/ast/UnaryExpression.java

# · Java · 72 lines · 44 code · 10 blank · 18 comment · 0 complexity · 77fa4c0f7b1b4a9aca48b51e0239b142 MD5 · raw file

  1. package net.sourceforge.phpdt.internal.compiler.ast;
  2. import gatchan.phpparser.parser.PHPParser;
  3. import net.sourceforge.phpdt.internal.compiler.ast.declarations.VariableUsage;
  4. import java.util.List;
  5. /**
  6. * @author Matthieu Casanova
  7. */
  8. public abstract class UnaryExpression extends OperatorExpression
  9. {
  10. protected final Expression expression;
  11. protected UnaryExpression(Expression expression,
  12. int operator,
  13. int sourceStart,
  14. int sourceEnd,
  15. int beginLine,
  16. int endLine,
  17. int beginColumn,
  18. int endColumn)
  19. {
  20. super(expression.getType(), operator, sourceStart, sourceEnd, beginLine, endLine, beginColumn, endColumn);
  21. this.expression = expression;
  22. }
  23. /**
  24. * Get the variables from outside (parameters, globals ...)
  25. *
  26. * @param list the list where we will put variables
  27. */
  28. @Override
  29. public final void getOutsideVariable(List<VariableUsage> list)
  30. {
  31. }
  32. /**
  33. * get the modified variables.
  34. *
  35. * @param list the list where we will put variables
  36. */
  37. @Override
  38. public final void getModifiedVariable(List<VariableUsage> list)
  39. {
  40. expression.getModifiedVariable(list);
  41. }
  42. /**
  43. * Get the variables used.
  44. *
  45. * @param list the list where we will put variables
  46. */
  47. @Override
  48. public final void getUsedVariable(List<VariableUsage> list)
  49. {
  50. expression.getUsedVariable(list);
  51. }
  52. @Override
  53. public AstNode subNodeAt(int line, int column)
  54. {
  55. return expression.isAt(line, column) ? expression : this;
  56. }
  57. @Override
  58. public void analyzeCode(PHPParser parser)
  59. {
  60. expression.analyzeCode(parser);
  61. }
  62. }