Search in sources :

Example 1 with PartialSourcePositionImpl

use of spoon.support.reflect.cu.position.PartialSourcePositionImpl in project spoon by INRIA.

the class TestCompilationUnit method testNewlyCreatedCUWouldGetAPartialPosition.

@Test
public void testNewlyCreatedCUWouldGetAPartialPosition() throws IOException {
    // contract: when a type is created, a CU can be created and added as partial position
    final Launcher launcher = new Launcher();
    assertTrue(launcher.getFactory().CompilationUnit().getMap().isEmpty());
    CtClass myNewClass = launcher.getFactory().createClass("my.new.MyClass");
    assertEquals(SourcePosition.NOPOSITION, myNewClass.getPosition());
    CompilationUnit cu = launcher.getFactory().CompilationUnit().getOrCreate(myNewClass);
    assertNotNull(cu);
    assertSame(cu, launcher.getFactory().CompilationUnit().getOrCreate(myNewClass));
    SourcePosition sourcePosition = myNewClass.getPosition();
    assertTrue(sourcePosition instanceof PartialSourcePositionImpl);
    assertSame(cu, sourcePosition.getCompilationUnit());
    File f = new File(Launcher.OUTPUTDIR, "my/new/MyClass.java");
    assertEquals(f.getCanonicalFile(), cu.getFile());
}
Also used : CompilationUnit(spoon.reflect.cu.CompilationUnit) CtClass(spoon.reflect.declaration.CtClass) PartialSourcePositionImpl(spoon.support.reflect.cu.position.PartialSourcePositionImpl) SourcePosition(spoon.reflect.cu.SourcePosition) NoSourcePosition(spoon.reflect.cu.position.NoSourcePosition) Launcher(spoon.Launcher) File(java.io.File) Test(org.junit.Test)

Aggregations

File (java.io.File)1 Test (org.junit.Test)1 Launcher (spoon.Launcher)1 CompilationUnit (spoon.reflect.cu.CompilationUnit)1 SourcePosition (spoon.reflect.cu.SourcePosition)1 NoSourcePosition (spoon.reflect.cu.position.NoSourcePosition)1 CtClass (spoon.reflect.declaration.CtClass)1 PartialSourcePositionImpl (spoon.support.reflect.cu.position.PartialSourcePositionImpl)1