Skip to content

Commit

Permalink
Reworking field access transformation.
Browse files Browse the repository at this point in the history
	modified:   core/vdm2c/NativeClassesTests.launch
	modified:   core/vdm2c/src/main/java/org/overture/codegen/vdm2c/transformations/FieldReadToFieldGetMacroTrans.java
	modified:   core/vdm2c/src/test/java/org/overture/codegen/vdm2c/NativeClassesTests.java
	new file:   core/vdm2c/src/test/resources/vdmrt/classes/ClassPublicFieldsTMP.vdmrt
	deleted:    core/vdm2c/src/test/resources/vdmrt/classes/ClassStaticFieldsTMP.vdmrt
  • Loading branch information
Victor Bandur committed Jun 26, 2016
1 parent a2befee commit b234a76
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 39 deletions.
2 changes: 1 addition & 1 deletion core/vdm2c/NativeClassesTests.launch
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</listAttribute>
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value="ClassFieldAccess"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value="ClassPublicFieldsTMP"/>
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.overture.codegen.vdm2c.NativeClassesTests"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import org.overture.ast.types.AOperationType;
import org.overture.cgc.extast.analysis.DepthFirstAnalysisCAdaptor;
import org.overture.codegen.ir.analysis.AnalysisException;
import org.overture.codegen.ir.expressions.AFieldExpIR;
import org.overture.codegen.ir.expressions.AIdentifierVarExpIR;
import org.overture.codegen.ir.statements.AAssignToExpStmIR;
import org.overture.codegen.trans.assistants.TransAssistantIR;
Expand All @@ -47,6 +48,19 @@ public FieldReadToFieldGetMacroTrans(TransAssistantIR assist)
this.assist = assist;
this.fieldUtil = new GlobalFieldUtil(assist);
}


@Override
public void caseAFieldExpIR(AFieldExpIR node) throws AnalysisException
{
// TODO Auto-generated method stub
super.caseAFieldExpIR(node);


//Differentiate here between public field get and set.

}


@Override
public void caseAIdentifierVarExpIR(AIdentifierVarExpIR node)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,11 @@ public void ClassFieldAccess() throws IOException,

@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ClassStaticFieldsTMP() throws IOException,
public void ClassPublicFieldsTMP() throws IOException,
InterruptedException, CMakeGenerateException
{
generate(getPath("classes/ClassStaticFieldsTMP.vdmrt"));
compileAndTest();
generate(getPath("classes/ClassPublicFieldsTMP.vdmrt"));
// compileAndTest();
}

@ConditionalIgnore(condition = HasVdmLib.class)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
class A
instance variables
public a1 : int := 99;
end A

class B
instance variables
a_instance : A := new A();
b1 : int := 0;

operations
setb1 : () ==> ()
setb1() ==
b1 := a_instance.a1;

--seta1 : () ==> ()
--seta1() ==
-- a_instance.a1 := 88;
end B

This file was deleted.

0 comments on commit b234a76

Please sign in to comment.