diff --git a/semantic/AttributeKill.valid.java b/semantic/AttributeKill.valid.java index 993356674c5c3be728b99c7638f3a790b89698da..6e9d3c8e35bfdd65a6578f11f44dea9189c44b2d 100644 --- a/semantic/AttributeKill.valid.java +++ b/semantic/AttributeKill.valid.java @@ -2,28 +2,26 @@ class AttributeKill { public A objectA; - public static void main(String[] args) { + /* create and construct object A*/ A objectA = new A(); objectA.init(); + /* set object to null*/ objectA = null; - - int a = objectA.atr; + /* calling uninitiated attribute of null object*/ + int a = objectA.atr; } - - } class A { + public int atr; /* pseudo constructor */ - public void init () { - + public void init() { atr = 2; } - } \ No newline at end of file diff --git a/semantic/NoParameterDeclaration.invalid.mj b/semantic/NoParameterDeclaration.invalid.mj index d11606d706b9f503ba230a015a9d7fc135b4e407..8ccf44303b2274dd6f3c971593e153cbc22ababb 100644 --- a/semantic/NoParameterDeclaration.invalid.mj +++ b/semantic/NoParameterDeclaration.invalid.mj @@ -4,13 +4,16 @@ */ class NoParameterDeclaration { + public int a; public static void main(String[] args) { + + NoParameterDeclaration testObj = new NoParameterDeclaration(); /*there is no parameter given here*/ testObj.test(); } - public void test (int i) { + public void test(int i) { int a = i; } diff --git a/semantic/OverwriteAttributeWithUndeclaredVariable.invalid.mj b/semantic/OverwriteAttributeWithUndeclaredVariable.invalid.mj index 75bcbaf10b71ff5150ce0a6c4fe6a0a6ad512d1d..faa0b2da5d16ca3964d5708d42a7043d61c311b2 100644 --- a/semantic/OverwriteAttributeWithUndeclaredVariable.invalid.mj +++ b/semantic/OverwriteAttributeWithUndeclaredVariable.invalid.mj @@ -1,17 +1,22 @@ class OverwriteAttributeWithUndeclaredVariable { - public static void main(String[] args) {} public String a; - public void test () { - /*should break here because of undeclared unknown variable*/ - int a = i; + public static void main(String[] args) { + + OverwriteAttributeWithUndeclaredVariable obj = new OverwriteAttributeWithUndeclaredVariable(); + obj.test(); } + public void test() { + /*should break here because of undeclared unknown variable*/ + a = i; + } } -class String {} +class String { +} diff --git a/semantic/RightVariable.valid.java b/semantic/RightVariable.valid.java index 075df9331cae4d6a1e0e967e00956fd9b61bb48b..3a0f089f3293017d9b194d46fad5c41002db591e 100644 --- a/semantic/RightVariable.valid.java +++ b/semantic/RightVariable.valid.java @@ -3,7 +3,8 @@ */ class RightVariable { - public static void main(String[] args) {} + public static void main(String[] args) { + } public int Test; @@ -27,20 +28,19 @@ class RightVariable { /*Overwrite test attribute with RightVariable class Attribute*/ test.Test = Test; - /*call local method with test*/ + /*call class RightVariable method Test, with the test object declared in the current method*/ Test(test); /*Overwrite class Test with with local method Test, with itself given as an obj ref..*/ test = Test(test); } - - } class Test { public int Test; - public void Test() {} + public void Test() { + } } \ No newline at end of file