@@ -0,0 +1,1164 @@
+/*%0A * This file is released under terms of BSD license%0A * See LICENSE file for more information%0A */%0Apackage claw.tatsu.xcodeml.abstraction;%0A%0Aimport claw.tatsu.xcodeml.xnode.common.Xcode;%0Aimport claw.tatsu.xcodeml.xnode.common.Xnode;%0Aimport org.w3c.dom.Element;%0A%0A/**%0A * Abstraction of assignment statement to be able to categorize them and%0A * easily extract some information.%0A *%0A * @author clementval%0A */%0Apublic class AssignStatement extends Xnode %7B%0A%0A  /**%0A   * Constructs an Xnode object from an element in the AST.%0A   *%0A   * @param element Base element for the Xnode object.%0A   */%0A  public AssignStatement(Element element) %7B%0A    super(element);%0A  %7D%0A%0A  /**%0A   * Get the variable name on the left hand-side of the assignment.%0A   *%0A   * @return Left hand-side variable name.%0A   */%0A  public String getLhsName() %7B%0A    Xnode lhs = getLhs();%0A    if(lhs != null) %7B%0A      return (lhs.opcode() == Xcode.VAR) ? lhs.value() :%0A          lhs.matchSeq(Xcode.VAR_REF, Xcode.VAR).value();%0A    %7D%0A    return %22%22;%0A  %7D%0A%0A  /**%0A   * Get the left hand-side node of the assignment.%0A   *%0A   * @return Left hans-side node.%0A   */%0A  public Xnode getLhs() %7B%0A    return child(Xnode.LHS);%0A  %7D%0A%0A%7D%0A

Introduce AssigneStatement class