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

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


  private final ClassDeclaration node;
  private Visibility currentVisibility;
  private List<String> sts;

  public ClassBuilder(Node parent, String identifier) {
    node = new ClassDeclaration(identifier);
    parent.addChild(node);
    currentVisibility = Visibility.PRIVATE;
  }
View Full Code Here


  }

  public void testProtectedAccessSpecifier() throws Exception {
    TranslationUnit unit = parse(
        "class A { protected: void foo() {} void bar() {} };");
    ClassDeclaration classA = unit.getChild(0);
    FunctionDefinition functionFoo = classA.getChild(0);
    Visibility visibilityFoo = functionFoo.getVisibility();
    assertEquals(Visibility.PROTECTED, visibilityFoo);
    FunctionDefinition functionBar = classA.getChild(1);
    Visibility visibilityBar = functionBar.getVisibility();
    assertEquals(Visibility.PROTECTED, visibilityBar);
  }
View Full Code Here

    assertEquals(64, CPPvariables.QI_TYPE.size());
  }

  public void testInheritance() throws Exception {
    TranslationUnit unit = parse("class A{}; class B : public A {};");
    ClassDeclaration classA = unit.getChild(0);
    ClassDeclaration classB = unit.getChild(1);
    assertEquals("A", classA.getName());
    assertEquals("B", classB.getName());
    ClassDeclaration baseB = classB.getBaseClass(0).getDeclaration();
    assertEquals("A", baseB.getName());
    assertEquals(AccessSpecifier.PUBLIC, classB.getBaseClass(0)
        .getAccessSpecifier());
  }
View Full Code Here

  }

  public void testMultipleInheritence() throws Exception {
    TranslationUnit unit = parse(
        "class A{}; class B{}; class C : public A, protected B {};");
    ClassDeclaration classA = unit.getChild(0);
    ClassDeclaration classB = unit.getChild(1);
    ClassDeclaration classC = unit.getChild(2);
    assertEquals("A", classA.getName());
    assertEquals("B", classB.getName());
    assertEquals("C", classC.getName());

    BaseClass baseC0 = classC.getBaseClass(0);
    BaseClass baseC1 = classC.getBaseClass(1);

    assertEquals("A", baseC0.getDeclaration().getName());
    assertEquals(AccessSpecifier.PUBLIC, baseC0.getAccessSpecifier());

    assertEquals("B", baseC1.getDeclaration().getName());
View Full Code Here

  public void testInheritedClassInSpecifiedNamespace() throws Exception {
    TranslationUnit unit = parse(
      "namespace Foo { class A {}; } " +
      "class B : public Foo::A {};");
    Namespace namespaceFoo = unit.getChild(0);
    ClassDeclaration classA = namespaceFoo.getChild(0);
    ClassDeclaration classB = unit.getChild(1);
    assertEquals("Foo::A", classA.getQualifiedName());
    assertEquals("B", classB.getName());
    ClassDeclaration baseB = classB.getBaseClass(0).getDeclaration();
    assertEquals("A", baseB.getName());
    assertEquals(AccessSpecifier.PUBLIC, classB.getBaseClass(0)
        .getAccessSpecifier());
  }
View Full Code Here

  }

  public void testInheritedClassInOtherTranslationUnit() throws Exception {
    // Build other tree with external declaration.
    NodeDictionary knownSymbols = new NodeDictionary();
    ClassDeclaration other = new ClassDeclaration("B");
    other.setParent(new Namespace("Bar"));
    knownSymbols.registerNode("Bar::B", other);

    TranslationUnit unit = parse("class A : public Bar::B {};", knownSymbols);
    ClassDeclaration classA = unit.getChild(0);
    assertEquals("A", classA.getName());

    ClassDeclaration baseA = classA.getBaseClass(0).getDeclaration();
    assertEquals("B", baseA.getName());
    assertEquals("Bar::B", baseA.getQualifiedName());
  }
View Full Code Here

    return new Parser().parse(source);
  }

  public void testEmptyClass() throws Exception {
    TranslationUnit unit = parse("class A{};");
    ClassDeclaration classA = unit.getChild(0);
    assertEquals("A", classA.getName());
  }
View Full Code Here

    assertEquals("A", classA.getName());
  }

  public void testTwoClasses() throws Exception {
    TranslationUnit unit = parse("class A{}; class B{};");
    ClassDeclaration classA = unit.getChild(0);
    assertEquals("A", classA.getName());
    ClassDeclaration classB = unit.getChild(1);
    assertEquals("B", classB.getName());
  }
View Full Code Here

    assertEquals("B", classB.getName());
  }

  public void testNestedClass() throws Exception {
    TranslationUnit unit = parse("class A{ class B{}; };");
    ClassDeclaration classA = unit.getChild(0);
    assertEquals("A", classA.getName());
    ClassDeclaration classB = classA.getChild(0);
    assertEquals("B", classB.getName());
  }
View Full Code Here

  public void testClassInNamespace() throws Exception {
    TranslationUnit unit = parse("namespace A{ class B{}; }");
    Namespace namespaceA = unit.getChild(0);
    assertEquals("A", namespaceA.getName());
    ClassDeclaration classB = namespaceA.getChild(0);
    assertEquals("B", classB.getName());
  }
View Full Code Here

TOP

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

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.