Package com.google.test.metric.cpp.dom

Examples of com.google.test.metric.cpp.dom.VariableDeclaration


  public void idExpression(String text) {
  }

  @Override
  public void directDeclarator(String id) {
    node = new VariableDeclaration(type, id, pointer);
    parent.addChild(node);
    pointer = false;
  }
View Full Code Here


    public void visit(AssignmentExpression assignmentExpression) {
      Node leftSide = assignmentExpression.getExpression(0);
      Node rightSide = assignmentExpression.getExpression(1);
      Variable leftVar = null;
      Variable rightVar = null;
      VariableDeclaration leftDeclaration = null;
      if (leftSide instanceof Name) {
        Name leftName = (Name) leftSide;
        leftDeclaration = leftName.lookupVariable(leftName.getIdentifier());
        leftVar = new Variable(leftDeclaration.getName(),
            CppType.fromName(leftDeclaration.getType()), false, false);
      }
      if (rightSide instanceof Name) {
        Name rightName = (Name) rightSide;
        VariableDeclaration declaration = rightName.lookupVariable(
            rightName.getIdentifier());
        rightVar = new Variable(declaration.getName(),
            CppType.fromName(declaration.getType()), false, false);
      }
      if (leftVar != null && rightVar != null) {
        Node leftParent = leftDeclaration.getParent();
        if (leftParent instanceof ClassDeclaration) {
          ClassInfo classInfo = repository.getClass(leftDeclaration.getName());
View Full Code Here

    this.sts = sts;
  }

  @Override
  public void directDeclarator(String id) {
    parent.addChild(new VariableDeclaration(sts.get(0), id));
  }
View Full Code Here

    this.sts = sts;
  }

  @Override
  public void directDeclarator(String id) {
    Node child = new VariableDeclaration(sts.get(0), id);
    node.addChild(child);
  }
View Full Code Here

    assertEquals("foo", functionFoo.getName());
  }

  public void testGlobalVarableDeclaration() throws Exception {
    TranslationUnit unit = parse("int a = 0, b = 1, c;");
    VariableDeclaration variableA = unit.getChild(0);
    assertEquals("a", variableA.getName());
    VariableDeclaration variableB = unit.getChild(1);
    assertEquals("b", variableB.getName());
    VariableDeclaration variableC = unit.getChild(2);
    assertEquals("c", variableC.getName());
  }
View Full Code Here

  }

  public void testNestedTernaryOperator() throws Exception {
    TranslationUnit unit = parse("int foo(int a, int b) { int c = a ? 0 : (b ? 1 : 2); }");
    FunctionDefinition functionFoo = unit.getChild(0);
    VariableDeclaration variableC = functionFoo.getChild(0);
    TernaryOperation ternaryOperation = variableC.getExpression(0);
    TernaryOperation nestedTernaryOperation = ternaryOperation.getExpression(1);
    assertNotNull(nestedTernaryOperation);
  }
View Full Code Here

  public void testLocalVariable() throws Exception {
    TranslationUnit unit = parse(
        "void main() { int a = 0, b = 0; a += 1; }");
    FunctionDefinition functionMain = unit.getChild(0);
    assertEquals("main", functionMain.getName());
    VariableDeclaration variableA = functionMain.getChild(0);
    assertEquals("a", variableA.getName());
    VariableDeclaration variableB = functionMain.getChild(1);
    assertEquals("b", variableB.getName());
  }
View Full Code Here

  public void testLocalAssgnment() throws Exception {
    TranslationUnit unit = parse(
        "void main() { int a = 0, b = 1; a = b; }");
    FunctionDefinition functionMain = unit.getChild(0);
    VariableDeclaration variableA = functionMain.getChild(0);
    assertEquals("a", variableA.getName());
    VariableDeclaration variableB = functionMain.getChild(1);
    assertEquals("b", variableB.getName());
    ExpressionStatement statement = functionMain.getChild(2);
    Expression expression = statement.getExpression(0);
    assertTrue(expression instanceof AssignmentExpression);
    AssignmentExpression assignment = (AssignmentExpression) expression;
    Name leftSide = assignment.getExpression(0);
View Full Code Here

  public void testPointerVariable() throws Exception {
    TranslationUnit unit = parse(
      "void main() { int *p = 0, a = 0, *pp = 0; }");
    FunctionDefinition functionMain = unit.getChild(0);
    VariableDeclaration variableP = functionMain.getChild(0);
    assertEquals("p", variableP.getName());
    assertEquals("int", variableP.getType());
    assertTrue(variableP.isPointer());
    VariableDeclaration variableA = functionMain.getChild(1);
    assertEquals("a", variableA.getName());
    assertEquals("int", variableA.getType());
    assertFalse(variableA.isPointer());
    VariableDeclaration variablePP = functionMain.getChild(2);
    assertEquals("pp", variablePP.getName());
    assertEquals("int", variablePP.getType());
    assertTrue(variablePP.isPointer());
  }
View Full Code Here

  public void testReferenceVariable() throws Exception {
    TranslationUnit unit = parse(
      "void main() { int a = 0; int& r = a; }");
    FunctionDefinition functionMain = unit.getChild(0);
    VariableDeclaration variableA = functionMain.getChild(0);
    assertEquals("a", variableA.getName());
    assertEquals("int", variableA.getType());
    assertFalse(variableA.isPointer());
    VariableDeclaration variableR = functionMain.getChild(1);
    assertEquals("r", variableR.getName());
    assertEquals("int", variableR.getType());
    assertTrue(variableR.isPointer());
  }
View Full Code Here

TOP

Related Classes of com.google.test.metric.cpp.dom.VariableDeclaration

Copyright © 2018 www.massapicom. 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.