--- /dev/null
+package secondary;
+
+import primary.Alpha;
+
+public aspect BetaA {
+ int Alpha.i;
+ String Alpha.s;
+}
--- /dev/null
+package secondary;
+
+import primary.Alpha;
+
+public aspect BetaA {
+ String Alpha.s;
+}
+++ /dev/null
-package primary;
-
-public class Alpha {
- public static void main(String [] argv) {
- }
-}
-
+++ /dev/null
-package secondary;
-
-import primary.Alpha;
-
-public aspect BetaA {
- int Alpha.i;
- String Alpha.s;
-}
+++ /dev/null
-package secondary;
-
-import primary.Alpha;
-
-public aspect BetaA {
- String Alpha.s;
-}
--- /dev/null
+package primary;
+
+public class Alpha {
+ public static void main(String [] argv) {
+ }
+}
+
--- /dev/null
+/*
+
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+
+*/
+package introduction;
+
+public aspect CloneablePoint {
+
+ declare parents: Point implements Cloneable;
+
+ public Object Point.clone() throws CloneNotSupportedException {
+ // we choose to bring all fields up to date before cloning.
+ makeRectangular();
+ makePolar();
+ return super.clone();
+ }
+
+ public static void main(String[] args){
+ Point p1 = new Point();
+ Point p2 = null;
+
+ p1.setPolar(Math.PI, 1.0);
+ try {
+ p2 = (Point)p1.clone();
+ } catch (CloneNotSupportedException e) {}
+ System.out.println("p1 =" + p1 );
+ System.out.println("p2 =" + p2 );
+
+ p1.rotate(Math.PI / -2);
+ System.out.println("p1 =" + p1 );
+ System.out.println("p2 =" + p2 );
+ }
+}
--- /dev/null
+/*
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+*/
+
+package introduction;
+
+import java.util.Hashtable;
+
+public aspect HashablePoint {
+
+ public int Point.hashCode() {
+ return (int) (getX() + getY() % Integer.MAX_VALUE);
+ }
+
+ public boolean Point.equals(Object o) {
+ if (o == this) { return true; }
+ if (!(o instanceof Point)) { return false; }
+ Point other = (Point)o;
+ return (getX() == other.getX()) && (getY() == other.getY());
+ }
+
+ public static void main(String[] args) {
+ Hashtable h = new Hashtable();
+ Point p1 = new Point();
+
+ p1.setRectangular(10, 10);
+ Point p2 = new Point();
+
+ p2.setRectangular(10, 10);
+
+ System.out.println("p1 = " + p1);
+ System.out.println("p2 = " + p2);
+ System.out.println("p1.hashCode() = " + p1.hashCode());
+ System.out.println("p2.hashCode() = " + p2.hashCode());
+
+ h.put(p1, "P1");
+ System.out.println("Got: " + h.get(p2));
+ }
+}
--- /dev/null
+/*
+ Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+ Use and copying of this software and preparation of derivative works based
+ upon this software are permitted. Any distribution of this software or
+ derivative works must comply with all applicable United States export control
+ laws.
+
+ This software is made available AS IS, and Xerox Corporation makes no warranty
+ about the software, its performance or its conformity to any specification.
+*/
+
+package introduction;
+
+public class Point {
+
+ protected double x = 0;
+ protected double y = 0;
+ protected double theta = 0;
+ protected double rho = 0;
+
+ protected boolean polar = true;
+ protected boolean rectangular = true;
+
+ public double getX(){
+ makeRectangular();
+ return x;
+ }
+
+ public double getY(){
+ makeRectangular();
+ return y;
+ }
+
+ public double getTheta(){
+ makePolar();
+ return theta;
+ }
+
+ public double getRho(){
+ makePolar();
+ return rho;
+ }
+
+ public void setRectangular(double newX, double newY){
+ x = newX;
+ y = newY;
+ rectangular = true;
+ polar = false;
+ }
+
+ public void setPolar(double newTheta, double newRho){
+ theta = newTheta;
+ rho = newRho;
+ rectangular = false;
+ polar = true;
+ }
+
+ public void rotate(double angle){
+ setPolar(theta + angle, rho);
+ }
+
+ public void offset(double deltaX, double deltaY){
+ setRectangular(x + deltaX, y + deltaY);
+ }
+
+ protected void makePolar(){
+ if (!polar){
+ theta = Math.atan2(y,x);
+ rho = y / Math.sin(theta);
+ polar = true;
+ }
+ }
+
+ protected void makeRectangular(){
+ if (!rectangular) {
+ x = rho * Math.sin(theta);
+ y = rho * Math.cos(theta);
+ rectangular = true;
+ }
+ }
+
+ public String toString(){
+ return "(" + getX() + ", " + getY() + ")["
+ + getTheta() + " : " + getRho() + "]";
+ }
+
+ public static void main(String[] args){
+ Point p1 = new Point();
+ System.out.println("p1 =" + p1);
+ p1.setRectangular(5,2);
+ System.out.println("p1 =" + p1);
+ p1.setPolar( Math.PI / 4.0 , 1.0);
+ System.out.println("p1 =" + p1);
+ p1.setPolar( 0.3805 , 5.385);
+ System.out.println("p1 =" + p1);
+ }
+}
+++ /dev/null
-/*
-
-Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
-
-Use and copying of this software and preparation of derivative works based
-upon this software are permitted. Any distribution of this software or
-derivative works must comply with all applicable United States export control
-laws.
-
-This software is made available AS IS, and Xerox Corporation makes no warranty
-about the software, its performance or its conformity to any specification.
-
-*/
-package introduction;
-
-public aspect CloneablePoint {
-
- declare parents: Point implements Cloneable;
-
- public Object Point.clone() throws CloneNotSupportedException {
- // we choose to bring all fields up to date before cloning.
- makeRectangular();
- makePolar();
- return super.clone();
- }
-
- public static void main(String[] args){
- Point p1 = new Point();
- Point p2 = null;
-
- p1.setPolar(Math.PI, 1.0);
- try {
- p2 = (Point)p1.clone();
- } catch (CloneNotSupportedException e) {}
- System.out.println("p1 =" + p1 );
- System.out.println("p2 =" + p2 );
-
- p1.rotate(Math.PI / -2);
- System.out.println("p1 =" + p1 );
- System.out.println("p2 =" + p2 );
- }
-}
+++ /dev/null
-/*
-
-Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
-
-Use and copying of this software and preparation of derivative works based
-upon this software are permitted. Any distribution of this software or
-derivative works must comply with all applicable United States export control
-laws.
-
-This software is made available AS IS, and Xerox Corporation makes no warranty
-about the software, its performance or its conformity to any specification.
-
-*/
-package introduction;
-
-public aspect CloneablePoint {
-
- declare parents: Point implements Cloneable;
-
- public Object Point.clone() throws CloneNotSupportedException {
- // we choose to bring all fields up to date before cloning.
- makeRectangular();
- makePolar();
- return super.clone();
- }
-
- public static void main(String[] args){
- Point p1 = new Point();
- Point p2 = null;
-
- p1.setPolar(Math.PI, 1.0);
- try {
- p2 = (Point)p1.clone();
- } catch (CloneNotSupportedException e) {}
- System.out.println("p1 =" + p1 );
- System.out.println("p2 =" + p2 );
-
- p1.rotate(Math.PI / -2);
- System.out.println("p1 =" + p1 );
- System.out.println("p2 =" + p2 );
- }
-}
+++ /dev/null
-/*
-Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
-
-Use and copying of this software and preparation of derivative works based
-upon this software are permitted. Any distribution of this software or
-derivative works must comply with all applicable United States export control
-laws.
-
-This software is made available AS IS, and Xerox Corporation makes no warranty
-about the software, its performance or its conformity to any specification.
-*/
-
-package introduction;
-
-public aspect ComparablePoint {
-
- declare parents: Point implements Comparable;
-
- public int Point.compareTo(Object o) {
- return (int) (this.getRho() - ((Point)o).getRho());
- }
-
- public static void main(String[] args){
- Point p1 = new Point();
- Point p2 = new Point();
-
- System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
-
- p1.setRectangular(2,5);
- p2.setRectangular(2,5);
- System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
-
- p2.setRectangular(3,6);
- System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
-
- p1.setPolar(Math.PI, 4);
- p2.setPolar(Math.PI, 4);
- System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
-
- p1.rotate(Math.PI / 4.0);
- System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
-
- p1.offset(1,1);
- System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
- }
-}
+++ /dev/null
-/*
-Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
-
-Use and copying of this software and preparation of derivative works based
-upon this software are permitted. Any distribution of this software or
-derivative works must comply with all applicable United States export control
-laws.
-
-This software is made available AS IS, and Xerox Corporation makes no warranty
-about the software, its performance or its conformity to any specification.
-*/
-
-package introduction;
-
-import java.util.Hashtable;
-
-public aspect HashablePoint {
-
- public int Point.hashCode() {
- return (int) (getX() + getY() % Integer.MAX_VALUE);
- }
-
- public boolean Point.equals(Object o) {
- if (o == this) { return true; }
- if (!(o instanceof Point)) { return false; }
- Point other = (Point)o;
- return (getX() == other.getX()) && (getY() == other.getY());
- }
-
- public static void main(String[] args) {
- Hashtable h = new Hashtable();
- Point p1 = new Point();
-
- p1.setRectangular(10, 10);
- Point p2 = new Point();
-
- p2.setRectangular(10, 10);
-
- System.out.println("p1 = " + p1);
- System.out.println("p2 = " + p2);
- System.out.println("p1.hashCode() = " + p1.hashCode());
- System.out.println("p2.hashCode() = " + p2.hashCode());
-
- h.put(p1, "P1");
- System.out.println("Got: " + h.get(p2));
- }
-}
+++ /dev/null
-/*
-Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
-
-Use and copying of this software and preparation of derivative works based
-upon this software are permitted. Any distribution of this software or
-derivative works must comply with all applicable United States export control
-laws.
-
-This software is made available AS IS, and Xerox Corporation makes no warranty
-about the software, its performance or its conformity to any specification.
-*/
-
-package introduction;
-
-import java.util.Hashtable;
-
-public aspect HashablePoint {
-
- public int Point.hashCode() {
- return (int) (getX() + getY() % Integer.MAX_VALUE);
- }
-
- public boolean Point.equals(Object o) {
- if (o == this) { return true; }
- if (!(o instanceof Point)) { return false; }
- Point other = (Point)o;
- return (getX() == other.getX()) && (getY() == other.getY());
- }
-
- public static void main(String[] args) {
- Hashtable h = new Hashtable();
- Point p1 = new Point();
-
- p1.setRectangular(10, 10);
- Point p2 = new Point();
-
- p2.setRectangular(10, 10);
-
- System.out.println("p1 = " + p1);
- System.out.println("p2 = " + p2);
- System.out.println("p1.hashCode() = " + p1.hashCode());
- System.out.println("p2.hashCode() = " + p2.hashCode());
-
- h.put(p1, "P1");
- System.out.println("Got: " + h.get(p2));
- }
-}
+++ /dev/null
-/*
- Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
-
- Use and copying of this software and preparation of derivative works based
- upon this software are permitted. Any distribution of this software or
- derivative works must comply with all applicable United States export control
- laws.
-
- This software is made available AS IS, and Xerox Corporation makes no warranty
- about the software, its performance or its conformity to any specification.
-*/
-
-package introduction;
-
-public class Point {
-
- protected double x = 0;
- protected double y = 0;
- protected double theta = 0;
- protected double rho = 0;
-
- protected boolean polar = true;
- protected boolean rectangular = true;
-
- public double getX(){
- makeRectangular();
- return x;
- }
-
- public double getY(){
- makeRectangular();
- return y;
- }
-
- public double getTheta(){
- makePolar();
- return theta;
- }
-
- public double getRho(){
- makePolar();
- return rho;
- }
-
- public void setRectangular(double newX, double newY){
- x = newX;
- y = newY;
- rectangular = true;
- polar = false;
- }
-
- public void setPolar(double newTheta, double newRho){
- theta = newTheta;
- rho = newRho;
- rectangular = false;
- polar = true;
- }
-
- public void rotate(double angle){
- setPolar(theta + angle, rho);
- }
-
- public void offset(double deltaX, double deltaY){
- setRectangular(x + deltaX, y + deltaY);
- }
-
- protected void makePolar(){
- if (!polar){
- theta = Math.atan2(y,x);
- rho = y / Math.sin(theta);
- polar = true;
- }
- }
-
- protected void makeRectangular(){
- if (!rectangular) {
- x = rho * Math.sin(theta);
- y = rho * Math.cos(theta);
- rectangular = true;
- }
- }
-
- public String toString(){
- return "(" + getX() + ", " + getY() + ")["
- + getTheta() + " : " + getRho() + "]";
- }
-
- public static void main(String[] args){
- Point p1 = new Point();
- System.out.println("p1 =" + p1);
- p1.setRectangular(5,2);
- System.out.println("p1 =" + p1);
- p1.setPolar( Math.PI / 4.0 , 1.0);
- System.out.println("p1 =" + p1);
- p1.setPolar( 0.3805 , 5.385);
- System.out.println("p1 =" + p1);
- }
-}
+++ /dev/null
-/*
- Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
-
- Use and copying of this software and preparation of derivative works based
- upon this software are permitted. Any distribution of this software or
- derivative works must comply with all applicable United States export control
- laws.
-
- This software is made available AS IS, and Xerox Corporation makes no warranty
- about the software, its performance or its conformity to any specification.
-*/
-
-package introduction;
-
-public class Point {
-
- protected double x = 0;
- protected double y = 0;
- protected double theta = 0;
- protected double rho = 0;
-
- protected boolean polar = true;
- protected boolean rectangular = true;
-
- public double getX(){
- makeRectangular();
- return x;
- }
-
- public double getY(){
- makeRectangular();
- return y;
- }
-
- public double getTheta(){
- makePolar();
- return theta;
- }
-
- public double getRho(){
- makePolar();
- return rho;
- }
-
- public void setRectangular(double newX, double newY){
- x = newX;
- y = newY;
- rectangular = true;
- polar = false;
- }
-
- public void setPolar(double newTheta, double newRho){
- theta = newTheta;
- rho = newRho;
- rectangular = false;
- polar = true;
- }
-
- public void rotate(double angle){
- setPolar(theta + angle, rho);
- }
-
- public void offset(double deltaX, double deltaY){
- setRectangular(x + deltaX, y + deltaY);
- }
-
- protected void makePolar(){
- if (!polar){
- theta = Math.atan2(y,x);
- rho = y / Math.sin(theta);
- polar = true;
- }
- }
-
- protected void makeRectangular(){
- if (!rectangular) {
- x = rho * Math.sin(theta);
- y = rho * Math.cos(theta);
- rectangular = true;
- }
- }
-
- public String toString(){
- return "(" + getX() + ", " + getY() + ")["
- + getTheta() + " : " + getRho() + "]";
- }
-
- public static void main(String[] args){
- Point p1 = new Point();
- System.out.println("p1 =" + p1);
- p1.setRectangular(5,2);
- System.out.println("p1 =" + p1);
- p1.setPolar( Math.PI / 4.0 , 1.0);
- System.out.println("p1 =" + p1);
- p1.setPolar( 0.3805 , 5.385);
- System.out.println("p1 =" + p1);
- }
-}
--- /dev/null
+/*
+
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+
+*/
+package introduction;
+
+public aspect CloneablePoint {
+
+ declare parents: Point implements Cloneable;
+
+ public Object Point.clone() throws CloneNotSupportedException {
+ // we choose to bring all fields up to date before cloning.
+ makeRectangular();
+ makePolar();
+ return super.clone();
+ }
+
+ public static void main(String[] args){
+ Point p1 = new Point();
+ Point p2 = null;
+
+ p1.setPolar(Math.PI, 1.0);
+ try {
+ p2 = (Point)p1.clone();
+ } catch (CloneNotSupportedException e) {}
+ System.out.println("p1 =" + p1 );
+ System.out.println("p2 =" + p2 );
+
+ p1.rotate(Math.PI / -2);
+ System.out.println("p1 =" + p1 );
+ System.out.println("p2 =" + p2 );
+ }
+}
--- /dev/null
+/*
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+*/
+
+package introduction;
+
+public aspect ComparablePoint {
+
+ declare parents: Point implements Comparable;
+
+ public int Point.compareTo(Object o) {
+ return (int) (this.getRho() - ((Point)o).getRho());
+ }
+
+ public static void main(String[] args){
+ Point p1 = new Point();
+ Point p2 = new Point();
+
+ System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
+
+ p1.setRectangular(2,5);
+ p2.setRectangular(2,5);
+ System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
+
+ p2.setRectangular(3,6);
+ System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
+
+ p1.setPolar(Math.PI, 4);
+ p2.setPolar(Math.PI, 4);
+ System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
+
+ p1.rotate(Math.PI / 4.0);
+ System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
+
+ p1.offset(1,1);
+ System.out.println("p1 =?= p2 :" + p1.compareTo(p2));
+ }
+}
--- /dev/null
+/*
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+*/
+
+package introduction;
+
+import java.util.Hashtable;
+
+public aspect HashablePoint {
+
+ public int Point.hashCode() {
+ return (int) (getX() + getY() % Integer.MAX_VALUE);
+ }
+
+ public boolean Point.equals(Object o) {
+ if (o == this) { return true; }
+ if (!(o instanceof Point)) { return false; }
+ Point other = (Point)o;
+ return (getX() == other.getX()) && (getY() == other.getY());
+ }
+
+ public static void main(String[] args) {
+ Hashtable h = new Hashtable();
+ Point p1 = new Point();
+
+ p1.setRectangular(10, 10);
+ Point p2 = new Point();
+
+ p2.setRectangular(10, 10);
+
+ System.out.println("p1 = " + p1);
+ System.out.println("p2 = " + p2);
+ System.out.println("p1.hashCode() = " + p1.hashCode());
+ System.out.println("p2.hashCode() = " + p2.hashCode());
+
+ h.put(p1, "P1");
+ System.out.println("Got: " + h.get(p2));
+ }
+}
--- /dev/null
+/*
+ Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+ Use and copying of this software and preparation of derivative works based
+ upon this software are permitted. Any distribution of this software or
+ derivative works must comply with all applicable United States export control
+ laws.
+
+ This software is made available AS IS, and Xerox Corporation makes no warranty
+ about the software, its performance or its conformity to any specification.
+*/
+
+package introduction;
+
+public class Point {
+
+ protected double x = 0;
+ protected double y = 0;
+ protected double theta = 0;
+ protected double rho = 0;
+
+ protected boolean polar = true;
+ protected boolean rectangular = true;
+
+ public double getX(){
+ makeRectangular();
+ return x;
+ }
+
+ public double getY(){
+ makeRectangular();
+ return y;
+ }
+
+ public double getTheta(){
+ makePolar();
+ return theta;
+ }
+
+ public double getRho(){
+ makePolar();
+ return rho;
+ }
+
+ public void setRectangular(double newX, double newY){
+ x = newX;
+ y = newY;
+ rectangular = true;
+ polar = false;
+ }
+
+ public void setPolar(double newTheta, double newRho){
+ theta = newTheta;
+ rho = newRho;
+ rectangular = false;
+ polar = true;
+ }
+
+ public void rotate(double angle){
+ setPolar(theta + angle, rho);
+ }
+
+ public void offset(double deltaX, double deltaY){
+ setRectangular(x + deltaX, y + deltaY);
+ }
+
+ protected void makePolar(){
+ if (!polar){
+ theta = Math.atan2(y,x);
+ rho = y / Math.sin(theta);
+ polar = true;
+ }
+ }
+
+ protected void makeRectangular(){
+ if (!rectangular) {
+ x = rho * Math.sin(theta);
+ y = rho * Math.cos(theta);
+ rectangular = true;
+ }
+ }
+
+ public String toString(){
+ return "(" + getX() + ", " + getY() + ")["
+ + getTheta() + " : " + getRho() + "]";
+ }
+
+ public static void main(String[] args){
+ Point p1 = new Point();
+ System.out.println("p1 =" + p1);
+ p1.setRectangular(5,2);
+ System.out.println("p1 =" + p1);
+ p1.setPolar( Math.PI / 4.0 , 1.0);
+ System.out.println("p1 =" + p1);
+ p1.setPolar( 0.3805 , 5.385);
+ System.out.println("p1 =" + p1);
+ }
+}
--- /dev/null
+package primary;
+
+public class Beta {
+ public static void main(String[] argv) {
+ sayhi();
+ }
+
+ public static void sayhi() {
+ System.err.println("Hi");
+ }
+}
--- /dev/null
+package primary;
+
+public class Beta {
+ public static void main(String[] argv) {
+ sayhi();
+ }
+
+ public static void sayhi() {
+ System.err.println("Hi");
+ }
+}
--- /dev/null
+package secondary;
+
+public class Delta {
+ public static void foo() { }
+}
--- /dev/null
+package secondary;
+
+public class Delta {
+ public static void foo() { }
+}
--- /dev/null
+package secondary;
+
+aspect Gamma {
+ before(): call(* *(..)) {
+ }
+}
+
--- /dev/null
+package secondary;
+
+aspect Gamma {
+ before(): call(* *(..)) {
+ }
+}
+
+++ /dev/null
-
-package primary;
-
-public class Alpha {
- public static void main (String[] args) {
- }
-}
+++ /dev/null
-package primary;
-
-public class Beta {
- public static void main(String[] argv) {
- sayhi();
- }
-
- public static void sayhi() {
- System.err.println("Hi");
- }
-}
+++ /dev/null
-package primary;
-
-public class Beta {
- public static void main(String[] argv) {
- sayhi();
- }
-
- public static void sayhi() {
- System.err.println("Hi");
- }
-}
+++ /dev/null
-package secondary;
-
-public class Delta {
- public static void foo() { }
-}
+++ /dev/null
-package secondary;
-
-public class Delta {
- public static void foo() { }
-}
+++ /dev/null
-package secondary;
-
-aspect Gamma {
- before(): call(* *(..)) {
- }
-}
-
+++ /dev/null
-package secondary;
-
-aspect Gamma {
- before(): call(* *(..)) {
- }
-}
-
--- /dev/null
+
+package primary;
+
+public class Alpha {
+ public static void main (String[] args) {
+ }
+}
--- /dev/null
+package primary;
+
+// Method added beyond what was in Beta.java
+
+public class Beta {
+ public static void main(String[] argv) {
+ sayhi();
+ }
+
+ public static void sayhi() {
+ System.err.println("Hi");
+ }
+}
--- /dev/null
+package secondary;
+
+// Extra class added over Delta.java
+
+public class Delta {
+ public static void foo() { }
+}
+
+class DeltaExtra {
+}
--- /dev/null
+package secondary;
+
+aspect Gamma {
+ before(): call(* *(..)) {
+ }
+
+ after(): call(* *(..)) {
+ }
+}
+
--- /dev/null
+package secondary;
+
+aspect Gamma {
+
+ pointcut calls(): call(* *(..));
+
+ before(): calls() {
+ }
+
+ after(): calls() {
+ }
+}
+
--- /dev/null
+package secondary;
+
+aspect Gamma {
+
+ pointcut calls(): call(* *(..));
+
+}
+
+++ /dev/null
-
-package primary;
-
-public class Alpha {
- public static void main (String[] args) {
- }
-}
+++ /dev/null
-package primary;
-
-// Method added beyond what was in Beta.java
-
-public class Beta {
- public static void main(String[] argv) {
- sayhi();
- }
-
- public static void sayhi() {
- System.err.println("Hi");
- }
-}
+++ /dev/null
-package primary;
-
-public class Beta {
- public static void main(String[] argv) {
- }
-
-}
+++ /dev/null
-package secondary;
-
-// Extra class added over Delta.java
-
-public class Delta {
- public static void foo() { }
-}
-
-class DeltaExtra {
-}
+++ /dev/null
-package secondary;
-
-public class Delta {
- public static void foo() { }
-}
+++ /dev/null
-package secondary;
-
-aspect Gamma {
- before(): call(* *(..)) {
- }
-
- after(): call(* *(..)) {
- }
-}
-
+++ /dev/null
-package secondary;
-
-aspect Gamma {
-
- pointcut calls(): call(* *(..));
-
- before(): calls() {
- }
-
- after(): calls() {
- }
-}
-
+++ /dev/null
-package secondary;
-
-aspect Gamma {
-
- pointcut calls(): call(* *(..));
-
-}
-
+++ /dev/null
-package secondary;
-
-aspect Gamma {
- before(): call(* *(..)) {
- }
-}
-
--- /dev/null
+
+package primary;
+
+public class Alpha {
+ public static void main (String[] args) {
+ }
+}
--- /dev/null
+package primary;
+
+public class Beta {
+ public static void main(String[] argv) {
+ }
+
+}
--- /dev/null
+package secondary;
+
+public class Delta {
+ public static void foo() { }
+}
--- /dev/null
+package secondary;
+
+aspect Gamma {
+ before(): call(* *(..)) {
+ }
+}
+
--- /dev/null
+package primary;
+
+public aspect BetaA {
+
+ pointcut m1call(): call(* m1(..));
+
+ before(): m1call() {
+ System.err.println("m1 got called");
+ }
+
+ pointcut m2call(): call(* m2(..));
+
+ before(): m2call() {
+ System.err.println("m2 got called");
+ }
+}
--- /dev/null
+package primary;
+
+public aspect BetaA {
+
+ pointcut m2call(): call(* m2(..));
+
+ before(): m2call() {
+ System.err.println("m2 got called");
+ }
+}
--- /dev/null
+package primary;
+
+public aspect BetaA {
+
+}
+++ /dev/null
-package primary;
-
-public class Alpha {
- public static void main(String[] argv) {
- Alpha instance = new Alpha();
- instance.m1();
- instance.m2();
- instance.m3();
- }
-
- public void m1() {
- }
-
- public boolean m2() {
- return false;
- }
-
- public String m3() {
- return "";
- }
-}
+++ /dev/null
-package primary;
-
-public aspect BetaA {
-
- pointcut m1call(): call(* m1(..));
-
- before(): m1call() {
- System.err.println("m1 got called");
- }
-
- pointcut m2call(): call(* m2(..));
-
- before(): m2call() {
- System.err.println("m2 got called");
- }
-}
+++ /dev/null
-package primary;
-
-public aspect BetaA {
-
- pointcut m2call(): call(* m2(..));
-
- before(): m2call() {
- System.err.println("m2 got called");
- }
-}
+++ /dev/null
-package primary;
-
-public aspect BetaA {
-
-}
+++ /dev/null
-package primary;
-
-public aspect BetaA {
-
- pointcut m1call(): call(* m1(..));
-
- before(): m1call() {
- System.err.println("m1 got called");
- }
-}
--- /dev/null
+package primary;
+
+public class Alpha {
+ public static void main(String[] argv) {
+ Alpha instance = new Alpha();
+ instance.m1();
+ instance.m2();
+ instance.m3();
+ }
+
+ public void m1() {
+ }
+
+ public boolean m2() {
+ return false;
+ }
+
+ public String m3() {
+ return "";
+ }
+}
--- /dev/null
+package primary;
+
+public aspect BetaA {
+
+ pointcut m1call(): call(* m1(..));
+
+ before(): m1call() {
+ System.err.println("m1 got called");
+ }
+}
--- /dev/null
+package primary;
+
+public aspect BetaA {
+ pointcut handlers(): handler(Throwable);
+ before(): handlers() {
+ System.err.println("xxx");
+ }
+}
--- /dev/null
+package primary;
+
+public aspect BetaA {
+ pointcut handlers(): handler(Throwable);
+ before(): handlers() {
+ System.err.println("xxx");
+ }
+}
--- /dev/null
+package primary;
+
+public aspect GammaA {
+ pointcut handlers(): handler(Throwable);
+ before(): handlers() {
+ System.err.println("xxx");
+ }
+}
+++ /dev/null
-package primary;
-
-public class Alpha {
- public static void main(String[]argv) {
- try {
- System.err.println("aaa");
- } catch (Throwable t) {
- System.err.println("Caught:"+t);
- }
- }
-}
+++ /dev/null
-package primary;
-
-public aspect BetaA {
- pointcut handlers(): handler(Throwable);
- before(): handlers() {
- System.err.println("xxx");
- }
-}
+++ /dev/null
-package primary;
-
-public aspect BetaA {
- pointcut handlers(): handler(Throwable);
- before(): handlers() {
- System.err.println("xxx");
- }
-}
+++ /dev/null
-package primary;
-
-public aspect BetaA {
-}
+++ /dev/null
-package primary;
-
-public aspect GammaA {
- pointcut handlers(): handler(Throwable);
- before(): handlers() {
- System.err.println("xxx");
- }
-}
--- /dev/null
+package primary;
+
+public class Alpha {
+ public static void main(String[]argv) {
+ try {
+ System.err.println("aaa");
+ } catch (Throwable t) {
+ System.err.println("Caught:"+t);
+ }
+ }
+}
--- /dev/null
+package primary;
+
+public aspect BetaA {
+}