Removed DeprecationInfo class. This not only saves memory (when there could be literally millions of Variable instances, which over time accumulate as null references still have some overhead), but also simplifies usage since it only had a single field.
diff --git a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/dom/NameExpression.java b/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/dom/NameExpression.java
index d9d6c59..fb570b5 100644
--- a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/dom/NameExpression.java
+++ b/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/dom/NameExpression.java
@@ -45,7 +45,7 @@
 		Variable variable = scope.get(name);
 		
 		if (variable != null && variable.getDeprecationInfo() != null) {
-			context.getWarningStream().println("Warning: " + variable.getDeprecationInfo().getMessage());
+			context.getWarningStream().println("Warning: " + variable.getDeprecationInfo());
 		}
 		
 		// First look for a model element type
diff --git a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/DeprecationInfo.java b/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/DeprecationInfo.java
deleted file mode 100644
index d171a1d..0000000
--- a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/DeprecationInfo.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2008 The University of York.

- * This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License 2.0

- * which is available at https://www.eclipse.org/legal/epl-2.0/

- * 

- * Contributors:

- *     Dimitrios Kolovos - initial API and implementation

- ******************************************************************************/

-package org.eclipse.epsilon.eol.execute;

-

-public class DeprecationInfo {

-	

-	protected String message;

-

-	public String getMessage() {

-		return message;

-	}

-

-	public void setMessage(String message) {

-		this.message = message;

-	}

-}

diff --git a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/EolContext.java b/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/EolContext.java
index 7281661..f810e42 100644
--- a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/EolContext.java
+++ b/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/EolContext.java
@@ -15,7 +15,6 @@
 import java.util.Queue;

 import org.eclipse.epsilon.common.module.IModule;

 import org.eclipse.epsilon.common.util.CollectionUtil;

-import org.eclipse.epsilon.eol.execute.DeprecationInfo;

 import org.eclipse.epsilon.eol.execute.ExecutorFactory;

 import org.eclipse.epsilon.eol.execute.introspection.IntrospectionManager;

 import org.eclipse.epsilon.eol.execute.operations.EolOperationFactory;

@@ -249,9 +248,7 @@
 		Variable variable = fs.get(userInputVarName);

 		if (variable == null) {

 			variable = Variable.createReadOnlyVariable(userInputVarName, userInput);

-			DeprecationInfo deprecationInfo = new DeprecationInfo();

-			deprecationInfo.setMessage("Variable UserInput is deprecated. Use System.user instead.");

-			variable.setDeprecationInfo(deprecationInfo);

+			variable.setDeprecationInfo("Variable UserInput is deprecated. Use System.user instead.");

 			fs.putGlobal(variable);

 		}

 		else {

diff --git a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/Variable.java b/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/Variable.java
index b8fa5ce..c6066d7 100644
--- a/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/Variable.java
+++ b/plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/execute/context/Variable.java
@@ -14,7 +14,6 @@
 import org.eclipse.epsilon.eol.exceptions.EolIllegalVariableAssignmentException;

 import org.eclipse.epsilon.eol.exceptions.EolReadOnlyVariableException;

 import org.eclipse.epsilon.eol.exceptions.EolRuntimeException;

-import org.eclipse.epsilon.eol.execute.DeprecationInfo;

 import org.eclipse.epsilon.eol.types.EolAnyType;

 import org.eclipse.epsilon.eol.types.EolType;

 

@@ -24,7 +23,7 @@
 	protected Object value;

 	protected EolType type;

 	protected boolean readOnly = false;

-	protected DeprecationInfo deprecationInfo;

+	protected String deprecationInfo;

 	

 	public static Variable createReadOnlyVariable(String name, Object value) {

 		return new Variable(name, value, EolAnyType.Instance, true);

@@ -128,11 +127,11 @@
 		this.name = name;

 	}

 	

-	public DeprecationInfo getDeprecationInfo() {

+	public String getDeprecationInfo() {

 		return deprecationInfo;

 	}

 

-	public void setDeprecationInfo(DeprecationInfo deprecationInfo) {

+	public void setDeprecationInfo(String deprecationInfo) {

 		this.deprecationInfo = deprecationInfo;

 	}