You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ft...@apache.org on 2014/04/30 11:58:57 UTC

[08/15] FLEX-34291: Merge the donated FDB with the current one.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/DisplayAction.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/DisplayAction.java b/modules/debugger/src/java/flex/tools/debugger/cli/DisplayAction.java
index 57c6cab..d8612d5 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/DisplayAction.java
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/DisplayAction.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flex.tools.debugger.cli;
@@ -33,12 +31,14 @@ public class DisplayAction
 	int			m_id;
 	ValueExp	m_expression;
 	String		m_content;
+	int m_isolateId;
 
-	public DisplayAction(ValueExp expr, String content)
+	public DisplayAction(ValueExp expr, String content, int isolateId)
 	{
 		init();
 		m_expression = expr;
 		m_content = content;
+		m_isolateId = isolateId;
 	}
 
 	void init()
@@ -50,6 +50,10 @@ public class DisplayAction
 	/* getters */
 	public String		getContent()					{ return m_content; }
 	public int			getId()							{ return m_id; }
+	
+	public int getIsolateId() {
+		return m_isolateId;
+	}
 	public boolean		isEnabled()						{ return m_enabled; }
 	public ValueExp		getExpression()					{ return m_expression; }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionCache.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionCache.java b/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionCache.java
index 02d73d0..b07e16b 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionCache.java
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionCache.java
@@ -94,17 +94,18 @@ public class ExpressionCache
 	public String		getPackageName(int id)	{ return m_cli.module2ClassName(id); }
 
 	public void bind(Session s)
-	{ 
-		setSession(s); 
+	{
+		setSession(s);
 
 		// propagates our properties to the session / non-critical if fails
 		try { ((flash.tools.debugger.concrete.PlayerSession)s).setPreferences(m_props.map()); } catch(Exception e) {}
 	}
 
-	public EvaluationResult evaluate(ValueExp e) throws NumberFormatException, NoSuchVariableException, PlayerFaultException, PlayerDebugException
+	public EvaluationResult evaluate(ValueExp e, int isolateId) throws NumberFormatException, NoSuchVariableException, PlayerFaultException, PlayerDebugException
 	{
 		EvaluationResult result = new EvaluationResult();
 		result.context = new ExpressionContext(this);
+		result.context.setIsolateId(isolateId);
 		result.value = e.evaluate(result.context);
 		return result;
 	}
@@ -145,7 +146,7 @@ public class ExpressionCache
 	public Set<String>  keySet() { return m_props.keySet(); }
 
 	/**
-	 * Allow the session to receive property updates 
+	 * Allow the session to receive property updates
 	 */
 	void setSessionProperty(String s, int value)
 	{
@@ -157,7 +158,7 @@ public class ExpressionCache
 
 	/**
 	 * We are able to fetch properties or expressions (i.e previous expression)
-	 * using this single call, despite the fact that each of these types of 
+	 * using this single call, despite the fact that each of these types of
 	 * results lie in different data structures m_expressions and m_props.
 	 * This allows us to easily perform expression evaluation without
 	 * need or concern over which 'type' of $ reference we are dealing with
@@ -184,7 +185,7 @@ public class ExpressionCache
 			}
 			catch(NumberFormatException nfe)
 			{
-				// must be in the property list 
+				// must be in the property list
 				exp = m_props.getInteger(s);
 			}
 		}
@@ -198,27 +199,27 @@ public class ExpressionCache
 	/**
 	 * Formatting function for variable
 	 */
-	public void appendVariable(StringBuilder sb, Variable v)
+	public void appendVariable(StringBuilder sb, Variable v, int isolateId)
 	{
 		//sb.append('\'');
 		String name = v.getName();
 		sb.append(name);
 		//sb.append('\'');
 		sb.append(" = "); //$NON-NLS-1$
-		appendVariableValue(sb, v.getValue(), name);
+		appendVariableValue(sb, v.getValue(), name, isolateId);
 		//appendVariableAttributes(sb, v);
 	}
 
 	/**
 	 * Given any arbitrary constant value, such as a Double, a String, etc.,
 	 * format its value appropriately. For example, strings will be quoted.
-	 * 
+	 *
 	 * @param sb
 	 *            a StringBuilder to which the formatted value will be appended.
 	 * @param o
 	 *            the value to format.
 	 */
-	public void appendVariableValue(StringBuilder sb, final Object o)
+	public void appendVariableValue(StringBuilder sb, final Object o, final int isolateId)
 	{
 		Value v;
 
@@ -298,15 +299,20 @@ public class ExpressionCache
 				public Variable[] getPrivateInheritedMemberNamed(String name) {
 					return new Variable[0];
 				}
-			};
+
+                @Override
+                public int getIsolateId() {
+					return isolateId;
+                }
+            };
 		}
 
-		appendVariableValue(sb, v);
+		appendVariableValue(sb, v, isolateId);
 	}
 
-	public void appendVariableValue(StringBuilder sb, Value val) { appendVariableValue(sb,val,""); } //$NON-NLS-1$
+	public void appendVariableValue(StringBuilder sb, Value val, final int isolateId) { appendVariableValue(sb,val,"", isolateId); } //$NON-NLS-1$
 
-	public void appendVariableValue(StringBuilder sb, Value val, String variableName)
+	public void appendVariableValue(StringBuilder sb, Value val, String variableName, final int isolateId)
 	{
 		int type = val.getType();
 		String typeName = val.getTypeName();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionContext.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionContext.java b/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionContext.java
index fe08b1a..b088f05 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionContext.java
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/ExpressionContext.java
@@ -1,5 +1,4 @@
 /*
- *
  *  Licensed to the Apache Software Foundation (ASF) under one or more
  *  contributor license agreements.  See the NOTICE file distributed with
  *  this work for additional information regarding copyright ownership.
@@ -14,7 +13,6 @@
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
- *
  */
 
 package flex.tools.debugger.cli;
@@ -22,6 +20,7 @@ package flex.tools.debugger.cli;
 import java.util.StringTokenizer;
 import java.util.Vector;
 
+import flash.tools.debugger.Isolate;
 import flash.tools.debugger.PlayerDebugException;
 import flash.tools.debugger.Session;
 import flash.tools.debugger.SessionManager;
@@ -45,6 +44,7 @@ public class ExpressionContext implements Context
 	Vector<String>		m_namedPath;
 	boolean				m_nameLocked;
 	String				m_newline = System.getProperty("line.separator"); //$NON-NLS-1$
+	int m_isolateId;
 
 	// used when evaluating an expression
 	public ExpressionContext(ExpressionCache cache)
@@ -54,6 +54,11 @@ public class ExpressionContext implements Context
 		m_createIfMissing = false;
 		m_namedPath = new Vector<String>();
 		m_nameLocked = false;
+		m_isolateId = Isolate.DEFAULT_ID;
+	}
+
+	public void setIsolateId(int id) {
+		m_isolateId = id;
 	}
 
 	void		setContext(Object o)	{ m_current = o; }
@@ -77,7 +82,7 @@ public class ExpressionContext implements Context
 	}
 
 	String getCurrentPackageName()
-	{ 
+	{
 		String s = null;
 		try
 		{
@@ -90,7 +95,7 @@ public class ExpressionContext implements Context
 		catch(ClassCastException cce)
 		{
 		}
-		return s; 
+		return s;
 	}
 
 	//
@@ -100,13 +105,14 @@ public class ExpressionContext implements Context
 	//
 	public void createPseudoVariables(boolean oui) { m_createIfMissing = oui; }
 
-	// create a new context object by combining the current one and o 
+	// create a new context object by combining the current one and o
 	public Context createContext(Object o)
 	{
 		ExpressionContext c = new ExpressionContext(m_cache);
 		c.setContext(o);
 		c.createPseudoVariables(m_createIfMissing);
 		c.m_namedPath.addAll(m_namedPath);
+		c.setIsolateId(m_isolateId);
 		return c;
 	}
 
@@ -153,7 +159,7 @@ public class ExpressionContext implements Context
 	/**
 	 * The Context interface which goes out and gets values from the session
 	 * Expressions use this interface as a means of evaluation.
-	 * 
+	 *
 	 * We also use this to create a reference to internal variables.
 	 */
 	public Object lookup(Object o) throws NoSuchVariableException, PlayerFaultException
@@ -204,7 +210,7 @@ public class ExpressionContext implements Context
 				if (resultValue.isAttributeSet(ValueAttribute.IS_EXCEPTION))
 				{
 					String value = resultValue.getValueAsString();
-					throw new PlayerFaultException(new ExceptionFault(value, false, resultValue));
+					throw new PlayerFaultException(new ExceptionFault(value, false, resultValue, resultValue.getIsolateId()));
 				}
 			}
 		}
@@ -242,9 +248,9 @@ public class ExpressionContext implements Context
   		StringBuilder sb = new StringBuilder();
 
   		if (var != null)
-            m_cache.appendVariable(sb, var);
+            m_cache.appendVariable(sb, var, m_isolateId);
   		else
-            m_cache.appendVariableValue(sb, val);
+            m_cache.appendVariableValue(sb, val, m_isolateId);
 
 		boolean attrs = m_cache.propertyEnabled(DebugCLI.DISPLAY_ATTRIBUTES);
 		if (attrs && var != null)
@@ -263,7 +269,7 @@ public class ExpressionContext implements Context
 					if (classname.equals(mems[i].getDefiningClass()))
 					{
 			  			sb.append(m_newline + " "); //$NON-NLS-1$
-                        m_cache.appendVariable(sb, mems[i]);
+                        m_cache.appendVariable(sb, mems[i], m_isolateId);
 						if (attrs)
 							ExpressionCache.appendVariableAttributes(sb, mems[i]);
 					}
@@ -275,7 +281,7 @@ public class ExpressionContext implements Context
 	  		for(int i=0; i<mems.length; i++)
 	  		{
 	  			sb.append(m_newline + " "); //$NON-NLS-1$
-                m_cache.appendVariable(sb, mems[i]);
+                m_cache.appendVariable(sb, mems[i], m_isolateId);
 				if (attrs)
 					ExpressionCache.appendVariableAttributes(sb, mems[i]);
 	  		}
@@ -286,11 +292,11 @@ public class ExpressionContext implements Context
 
 	//
 	//
-	// End of Context API implementation 
+	// End of Context API implementation
 	//
 	//
 
-	// used to assign a value to an internal variable 
+	// used to assign a value to an internal variable
 	private void assignInternal(InternalProperty var, Value v) throws NoSuchVariableException, NumberFormatException, PlayerDebugException
 	{
 		// otherwise set it
@@ -315,7 +321,7 @@ public class ExpressionContext implements Context
 	}
 
 	/**
-	 * Resolve the object into a variable by various means and 
+	 * Resolve the object into a variable by various means and
 	 * using the current context.
 	 * @return variable, or <code>null</code>
 	 */
@@ -331,13 +337,13 @@ public class ExpressionContext implements Context
 		 * Resolve the name to something
 		 */
 		{
-			// not an id so try as name 
+			// not an id so try as name
 			String name = o.toString();
 			long id = nameAsId(name);
 
 			/**
 			 * if #N was used just pick up the variable, otherwise
-			 * we need to use the current context to resolve 
+			 * we need to use the current context to resolve
 			 * the name to a member
 			 */
 			if (id != Value.UNKNOWN_ID)
@@ -350,9 +356,9 @@ public class ExpressionContext implements Context
 				id = determineContext(name);
 				v = locateForNamed(id, name, true);
 				if (v != null)
-					v = new VariableFacade(v, id);
+					v = new VariableFacade(v, id, m_isolateId);
 				else if (v == null && m_createIfMissing && name.charAt(0) != '$')
-					v = new VariableFacade(id, name);
+					v = new VariableFacade(id, name, m_isolateId);
 			}
 		}
 
@@ -361,7 +367,7 @@ public class ExpressionContext implements Context
 	}
 
 	/*
-	 * Resolve the object into a variable by various means and 
+	 * Resolve the object into a variable by various means and
 	 * using the current context.
 	 */
 	Value resolveToValue(Object o) throws PlayerDebugException
@@ -374,36 +380,36 @@ public class ExpressionContext implements Context
 		else if (o instanceof Variable)
 			return ((Variable)o).getValue();
 		else if (o instanceof InternalProperty)
-			return DValue.forPrimitive(((InternalProperty)o).m_value);
+			return DValue.forPrimitive(((InternalProperty)o).m_value, m_isolateId);
 
 		/**
 		 * Resolve the name to something
 		 */
 		if (m_current == null)
 		{
-			// not an id so try as name 
+			// not an id so try as name
 			String name = o.toString();
 			long id = nameAsId(name);
 
 			/**
 			 * if #N was used just pick up the variable, otherwise
-			 * we need to use the current context to resolve 
+			 * we need to use the current context to resolve
 			 * the name to a member
 			 */
 			if (id != Value.UNKNOWN_ID)
 			{
-				v = getSession().getValue((int)id);
+				v = getSession().getWorkerSession(m_isolateId).getValue((int)id);
 			}
 			else if (name.equals("undefined")) //$NON-NLS-1$
 			{
-				v = DValue.forPrimitive(Value.UNDEFINED);
+				v = DValue.forPrimitive(Value.UNDEFINED, m_isolateId);
 			}
 			else
 			{
 				// Ask the player to find something, anything, on the scope chain
 				// with this name.  We'll end up here, for example, when resolving
 				// things like MyClass, String, Number, etc.
-				v = getSession().getGlobal(name);
+				v = getSession().getWorkerSession(m_isolateId).getGlobal(name);
 			}
 		}
 
@@ -420,7 +426,7 @@ public class ExpressionContext implements Context
 			if (name.charAt(0) == '#')
 				id = Long.parseLong(name.substring(1));
 		}
-		catch(Exception e) 
+		catch(Exception e)
 		{
 			id = Value.UNKNOWN_ID;
 		}
@@ -435,7 +441,7 @@ public class ExpressionContext implements Context
 	Variable memberNamed(long id, String name) throws NoSuchVariableException, PlayerDebugException
 	{
 		Variable v = null;
-		Value parent = getSession().getValue(id);
+		Value parent = getSession().getWorkerSession(m_isolateId).getValue(id);
 
 		if (parent == null)
 			throw new NoSuchVariableException(name);
@@ -448,7 +454,7 @@ public class ExpressionContext implements Context
 
 	/**
 	 * All the really good stuff about finding where name exists goes here!
-	 * 
+	 *
 	 * If name is not null, then it implies that we use the existing
 	 * m_current to find a member of m_current.  If m_current is null
 	 * Then we need to probe variable context points attempting to locate
@@ -475,13 +481,13 @@ public class ExpressionContext implements Context
 		{
 			// Each stack frame has a root variable under (BASE_ID-depth)
 			// where depth is the depth of the stack.
-			// So we query for our current stack depth and use that 
+			// So we query for our current stack depth and use that
 			// as the context for our base computation
 			long baseId = Value.BASE_ID;
 			int depth = ((Integer)m_cache.get(DebugCLI.DISPLAY_FRAME_NUMBER)).intValue();
 			baseId -= depth;
 
-			// obtain data about our current state 
+			// obtain data about our current state
 			Variable contextVar = null;
 			Value contextVal = null;
 			Value val = null;
@@ -504,7 +510,7 @@ public class ExpressionContext implements Context
 				;
 
 			// now try off of class level, if such a thing can be found
-			else if ( ( (contextVal = locate(Value.GLOBAL_ID, getCurrentPackageName(), false)) != null ) && 
+			else if ( ( (contextVal = locate(Value.GLOBAL_ID, getCurrentPackageName(), false)) != null ) &&
 					  ( setName("_global."+getCurrentPackageName()) && (val = locateParentForNamed(contextVal.getId(), name, true)) != null ) ) //$NON-NLS-1$
 				;
 
@@ -516,17 +522,17 @@ public class ExpressionContext implements Context
 				lockName();
 			}
 		}
-		
+
 		return id;
 	}
 
 	/**
 	 * Performs a search for a member with the given name using the
 	 * given id as the parent variable.
-	 * 
+	 *
 	 * If a match is found then, we return the parent variable of
 	 * the member that matched.  The proto chain is optionally traversed.
-	 * 
+	 *
 	 * No exceptions are thrown
 	 */
 	Value locateParentForNamed(long id, String name, boolean traverseProto) throws PlayerDebugException
@@ -569,7 +575,7 @@ public class ExpressionContext implements Context
 		if (var != null)
 		{
 			pushName(sb.toString());
-			val = getSession().getValue(id);
+			val = getSession().getWorkerSession(m_isolateId).getValue(id);
 		}
 
 		return val;
@@ -606,7 +612,7 @@ public class ExpressionContext implements Context
 
 		// first rip apart the dottedName
 		StringTokenizer names = new StringTokenizer(dottedName, "."); //$NON-NLS-1$
-		Value val = getSession().getValue(startingId);
+		Value val = getSession().getWorkerSession(m_isolateId).getValue(startingId);
 
 		while(names.hasMoreTokens() && val != null)
 			val = locateForNamed(val.getId(), names.nextToken(), traverseProto).getValue();
@@ -625,9 +631,9 @@ public class ExpressionContext implements Context
 		else if (o instanceof Variable)
 			return ((Variable)o).getValue();
 		else if (o instanceof InternalProperty)
-			return DValue.forPrimitive(((InternalProperty)o).m_value);
+			return DValue.forPrimitive(((InternalProperty)o).m_value, m_isolateId);
 		else
-			return DValue.forPrimitive(o);
+			return DValue.forPrimitive(o, m_isolateId);
 	}
 
 	public Value toValue()
@@ -639,4 +645,9 @@ public class ExpressionContext implements Context
 	{
 		return m_cache.getSession();
 	}
+
+	@Override
+	public int getIsolateId() {
+		return m_isolateId;
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/Extensions.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/Extensions.java b/modules/debugger/src/java/flex/tools/debugger/cli/Extensions.java
index 0332100..3f94336 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/Extensions.java
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/Extensions.java
@@ -1,5 +1,4 @@
 /*
- *
  *  Licensed to the Apache Software Foundation (ASF) under one or more
  *  contributor license agreements.  See the NOTICE file distributed with
  *  this work for additional information regarding copyright ownership.
@@ -14,7 +13,6 @@
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
- *
  */
 
 package flex.tools.debugger.cli;
@@ -49,7 +47,7 @@ import flash.util.FieldFormat;
 
 /**
  * Extensions class is a singleton that contains
- * every cli method that does not conform to the 
+ * every cli method that does not conform to the
  * API.  Thus we can easily remove these features
  * from the cli if the implementation does not
  * support these calls.
@@ -121,7 +119,7 @@ public class Extensions
 				arg = cli.nextToken();
 				int id = arg.equals(".") ? cli.propertyGet(DebugCLI.LIST_MODULE) : cli.parseFileArg(-1, arg); //$NON-NLS-1$
 
-				DModule m = (DModule)fileInfo.getFile(id);
+				DModule m = (DModule)fileInfo.getFile(id, cli.getActiveIsolateId());
                 m.lineMapping(sb);
 			}
 			else
@@ -214,16 +212,17 @@ public class Extensions
 	 */
 	public static void doShowBreak(DebugCLI cli) throws NotConnectedException
 	{
-		cli.waitTilHalted();
+		int isolateId = cli.getActiveIsolateId();
+		cli.waitTilHalted(isolateId);
 		try
 		{
 			Session session = cli.getSession();
 			StringBuilder sb = new StringBuilder();
-			if (session.isSuspended())
+			if (session.getWorkerSession(isolateId).isSuspended())
 			{
 				sb.append(getLocalizationManager().getLocalizedTextString("stopped")); //$NON-NLS-1$
 				sb.append(' ');
-				appendBreakInfo(cli, sb, true);
+				appendBreakInfo(cli, sb, true, isolateId);
 			}
 			else
 				sb.append(getLocalizationManager().getLocalizedTextString("key24")); //$NON-NLS-1$
@@ -237,7 +236,7 @@ public class Extensions
 	}
 
 	// Extended low level break information
-	public static void appendBreakInfo(DebugCLI cli, StringBuilder sb, boolean includeFault) throws NotConnectedException
+	public static void appendBreakInfo(DebugCLI cli, StringBuilder sb, boolean includeFault, int isolateId) throws NotConnectedException
 	{
 		Session session = cli.getSession();
 		FileInfoCache fileInfo = cli.getFileCache();
@@ -247,7 +246,7 @@ public class Extensions
 		int index = ((PlayerSession)session).getSuspendActionIndex();
 
 		SwfInfo info = null;
-		try { info = fileInfo.getSwfs()[index]; } catch(ArrayIndexOutOfBoundsException oobe) {}
+		try { info = fileInfo.getSwfs(isolateId)[index]; } catch(ArrayIndexOutOfBoundsException oobe) {}
 		if (info != null)
 		{
 			Map<String, String> args = new HashMap<String, String>();
@@ -274,7 +273,8 @@ public class Extensions
 	// Raw direct call to Player
 	public static void doShowVariable(DebugCLI cli) throws PlayerDebugException
 	{
-		cli.waitTilHalted();
+		int isolateId = cli.getActiveIsolateId();
+		cli.waitTilHalted(isolateId);
 		try
 		{
 			// an integer followed by a variable name
@@ -285,8 +285,8 @@ public class Extensions
 			StringBuilder sb = new StringBuilder();
 			sb.append(name);
 			sb.append(" = "); //$NON-NLS-1$
-			Value v = ((PlayerSession)session).getValue(id, name);
-            cli.m_exprCache.appendVariableValue(sb, v);
+			Value v = ((PlayerSession)session).getValue(id, name, isolateId);
+            cli.m_exprCache.appendVariableValue(sb, v, isolateId);
 			cli.out( sb.toString() );
 		}
 		catch(NullPointerException npe)
@@ -300,14 +300,15 @@ public class Extensions
 		/* currentXXX may NOT be invalid! */
 		int currentModule = cli.propertyGet(DebugCLI.LIST_MODULE);
 		int currentLine = cli.propertyGet(DebugCLI.LIST_LINE);
- 
+		int currentIsolate = cli.propertyGet(DebugCLI.LIST_WORKER);
+
 		String arg1 = null;
 		int module1 = currentModule;
 		int line1 = currentLine;
- 
+
 		String arg2 = null;
 		int line2 = currentLine;
- 
+
  		boolean functionNamed = false;
 		int numLines = 0;
  		try
@@ -324,11 +325,11 @@ public class Extensions
 				}
 				else
 				{
-					int[] result = cli.parseLocationArg(currentModule, currentLine, arg1);
+					int[] result = cli.parseLocationArg(currentModule, currentLine, arg1, currentIsolate);
 					module1 = result[0];
 					line2 = line1 = result[1];
  					functionNamed = (result[2] == 0) ? false : true;
- 
+
 					if (cli.hasMoreTokens())
 					{
 						arg2 = cli.nextToken();
@@ -339,22 +340,23 @@ public class Extensions
  			else
  			{
  				// since no parms test for valid location if none use players concept of where we stopped
- 				if( fileInfo.getFile(currentModule) == null)
+ 				if( fileInfo.getFile(currentModule, currentIsolate) == null)
  				{
+ 					int isolateId = cli.getActiveIsolateId();
  					//here we simply use the players concept of suspsend
- 					DSuspendInfo info = ((PlayerSession)session).getSuspendInfo();
+ 					DSuspendInfo info = ((PlayerSession)session).getSuspendInfoIsolate(isolateId);
  					int at = info.getOffset();
  					int which = info.getActionIndex();
  					int until = info.getNextOffset();
  					if (info.getReason() == SuspendReason.Unknown)
  						throw new SuspendedException();
- 
- 					SwfInfo swf = fileInfo.getSwfs()[which];
+
+ 					SwfInfo swf = fileInfo.getSwfs(isolateId)[which];
  					outputAssembly(cli, (DSwfInfo)swf, at, until);
  					throw new AmbiguousException(getLocalizationManager().getLocalizedTextString("key27")); //$NON-NLS-1$
  				}
- 			}			
- 
+ 			}
+
  			/**
  			 * Check for a few error conditions, otherwise we'll write a listing!
  			 */
@@ -366,15 +368,15 @@ public class Extensions
  			{
  				SourceFile file = fileInfo.getFile(module1);
  				numLines = file.getLineCount();
- 
+
  				// pressing return is ok, otherwise throw the exception
  				if (line1 > numLines && arg1 != null)
  					throw new IndexOutOfBoundsException();
- 
+
  				/* if no arg2 then user list a single line */
  				if (arg2 == null)
  					line2 = line1;
- 
+
  				/* adjust our range of lines to ensure we conform */
  				if (line1 < 1)
  				{
@@ -382,19 +384,19 @@ public class Extensions
  					line2 += -(line1 - 1);
  					line1 = 1;
  				}
- 
+
  				if (line2 > numLines)
  					line2 = numLines;
- 
+
 				//			    System.out.println("1="+module1+":"+line1+",2="+module2+":"+line2+",num="+numLines+",half="+half);
- 
+
  				/* nothing to display */
  				if (line1 > line2)
  					throw new IndexOutOfBoundsException();
- 
+
  				/* now dump the mixed source / assembly */
- 				// now lets find which swf this in 
- 				DSwfInfo swf = (DSwfInfo)fileInfo.swfForFile(file);
+ 				// now lets find which swf this in
+ 				DSwfInfo swf = (DSwfInfo)fileInfo.swfForFile(file, cli.getActiveIsolateId());
  				ActionLocation lStart = null;
  				ActionLocation lEnd = null;
  

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/FaultActions.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/FaultActions.java b/modules/debugger/src/java/flex/tools/debugger/cli/FaultActions.java
index ec4f4b9..73bc074 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/FaultActions.java
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/FaultActions.java
@@ -1,26 +1,35 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flex.tools.debugger.cli;
 
 import java.util.HashMap;
 
+import flash.localization.LocalizationManager;
+import flash.tools.debugger.events.DivideByZeroFault;
+import flash.tools.debugger.events.ExceptionFault;
+import flash.tools.debugger.events.InvalidTargetFault;
+import flash.tools.debugger.events.InvalidURLFault;
+import flash.tools.debugger.events.InvalidWithFault;
+import flash.tools.debugger.events.ProtoLimitFault;
+import flash.tools.debugger.events.RecursionLimitFault;
+import flash.tools.debugger.events.ScriptTimeoutFault;
+import flash.tools.debugger.events.StackUnderFlowFault;
+
 /**
  * FaultActions proivdes a convenient wrapper for housing the user specified
  * behaviour for a set of faults (aka text strings)
@@ -39,7 +48,7 @@ public class FaultActions
 
 	int m_nextBitForAction = 0x1;  // the next bit to use for the action
 
-	public FaultActions() {}
+	private FaultActions() {}
 
 	Integer		get(String o)			{ return m_faults.get(o); }
 	Integer		getAction(String o)		{ return m_actions.get(o); }
@@ -116,4 +125,104 @@ public class FaultActions
 
 		return n;
 	}
+	
+	public static class FaultActionsBuilder {
+
+		private final LocalizationManager localizationManager;
+
+		public FaultActionsBuilder(LocalizationManager localizationManager) {
+			super();
+			this.localizationManager = localizationManager;
+		}
+
+		public FaultActions build() {
+			FaultActions faultActions = new FaultActions();
+			populateFaultTable(faultActions);
+			return faultActions;
+		}
+
+		private void populateFaultTable(FaultActions faultActions) {
+			// possible actions for our fault table
+			faultActions.addAction("stop"); //$NON-NLS-1$
+			faultActions.addAction("print"); //$NON-NLS-1$
+
+			// the faults we support
+			faultActions.add(InvalidTargetFault.name);
+			faultActions.add(RecursionLimitFault.name);
+			faultActions.add(InvalidWithFault.name);
+			faultActions.add(ProtoLimitFault.name);
+			faultActions.add(InvalidURLFault.name);
+			faultActions.add(ExceptionFault.name);
+			faultActions.add(StackUnderFlowFault.name);
+			faultActions.add(DivideByZeroFault.name);
+			faultActions.add(ScriptTimeoutFault.name);
+			// faultActions.add(ConsoleErrorFault.name);
+
+			// nice description of the faults
+			faultActions.putDescription(
+					InvalidTargetFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"invalidTargetFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					RecursionLimitFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"recursionLimitFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					InvalidWithFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"invalidWithFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					ProtoLimitFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"protoLimitFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					InvalidURLFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"invalidUrlFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					ExceptionFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"exceptionFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					StackUnderFlowFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"stackUnderflowFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					DivideByZeroFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"divideByZeroFault")); //$NON-NLS-1$
+			faultActions.putDescription(
+					ScriptTimeoutFault.name,
+					getLocalizationManager().getLocalizedTextString(
+							"scriptTimeoutFault")); //$NON-NLS-1$
+			// faultActions.putDescription(ConsoleErrorFault.name,
+			// "ActionScript recoverable error");
+
+			// default values for the faults
+			faultActions.action(InvalidTargetFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(InvalidTargetFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(RecursionLimitFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(RecursionLimitFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(InvalidWithFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(InvalidWithFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(ProtoLimitFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(ProtoLimitFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(InvalidURLFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(InvalidURLFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(ExceptionFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(ExceptionFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(StackUnderFlowFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(StackUnderFlowFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(DivideByZeroFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(DivideByZeroFault.name, "print"); //$NON-NLS-1$
+			faultActions.action(ScriptTimeoutFault.name, "stop"); //$NON-NLS-1$
+			faultActions.action(ScriptTimeoutFault.name, "print"); //$NON-NLS-1$
+			//			faultActions.action(ConsoleErrorFault.name, "print"); //$NON-NLS-1$
+			//			faultActions.action(ConsoleErrorFault.name, "stop"); //$NON-NLS-1$
+		}
+
+		private LocalizationManager getLocalizationManager() {
+			return localizationManager;
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/FileInfoCache.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/FileInfoCache.java b/modules/debugger/src/java/flex/tools/debugger/cli/FileInfoCache.java
index 8a90988..c1e1187 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/FileInfoCache.java
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/FileInfoCache.java
@@ -19,19 +19,20 @@
 
 package flex.tools.debugger.cli;
 
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.InProgressException;
-import flash.tools.debugger.NoResponseException;
-
-import flash.util.IntMap;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Iterator;
 
+import flash.tools.debugger.InProgressException;
+import flash.tools.debugger.Isolate;
+import flash.tools.debugger.NoResponseException;
+import flash.tools.debugger.Session;
+import flash.tools.debugger.SourceFile;
+import flash.tools.debugger.SwfInfo;
+import flash.util.IntMap;
+
 /**
  * FileInfoCache manages a list of files that are unique
  * across multiple swfs.
@@ -44,18 +45,87 @@ public class FileInfoCache implements Comparator<SourceFile>
 	 * We can get at files by module id or path
 	 */
 	IntMap				m_byInt = new IntMap();
+	HashMap<Integer, IntMap> m_isolateState = new HashMap<Integer, IntMap> ();
+
+	private IntMap getIsolateState(int isolateId) {
+		IntMap isolateState = null;
+		if (!m_isolateState.containsKey(isolateId)) {
+			isolateState = new IntMap();
+			m_isolateState.put(isolateId, isolateState);
+		}
+		else
+			isolateState = m_isolateState.get(isolateId);
+		return isolateState;
+	}
+
 	SourceFile[]		m_files = null;
+	SourceFile[]		m_isolateFiles = null;
 	SwfInfo				m_swfFilter = null;
 	int					m_swfsLoaded = 0;
     boolean             m_dirty = false;
+    int lastActiveIsolate = Isolate.DEFAULT_ID;
+
+	public FileInfoCache() {
 
-	public FileInfoCache() {}
+	}
 
 	public void			bind(Session s)									{ setSession(s); }
 	public void			unbind()										{ m_session = null; }
-	public SourceFile	getFile(int i)									{ populate(); return (SourceFile)m_byInt.get(i);	}
-	public SourceFile[]	getFileList()									{ populate(); return m_files; }
-	public Iterator     getAllFiles()									{ populate(); return m_byInt.iterator(); }
+
+	public SourceFile getFile(int i) {
+		return getFile(i, Isolate.DEFAULT_ID);
+	}
+
+	public SourceFile getFile(int i, int isolateId) {
+		populate();
+		if (isolateId == Isolate.DEFAULT_ID)
+			return (SourceFile) m_byInt.get(i);
+		else
+			return (SourceFile)getIsolateState(isolateId).get(i);
+	}
+
+	public SourceFile[] getFileList() {
+		populate();
+		return m_files;
+	}
+
+	public SourceFile[] getFileList(int isolateId) {
+		populate();
+		if (isolateId == Isolate.DEFAULT_ID)
+			return m_files;
+		else if (isolateId != lastActiveIsolate) {
+			buildIsolateFiles(isolateId);
+		}
+		return m_isolateFiles;
+	}
+
+	private void buildIsolateFiles(int isolateId) {
+		SwfInfo[] swfs = getSwfs(isolateId);
+		boolean worked = true; // check that all worked correctly
+		ArrayList<SourceFile> files = new ArrayList<SourceFile>();
+
+		for(int i=0; i<swfs.length; i++)
+		{
+			if (swfs[i] != null)
+				worked = loadSwfFiles(files, swfs[i]) ? worked : false;
+		}
+
+		// trim the file list
+		ArrayList<SourceFile> fa = trimFileList(files);
+		m_isolateFiles = fa.toArray( new SourceFile[fa.size()] );
+
+		// sort this array in place so calls to getFileList will be ordered
+		Arrays.sort(m_isolateFiles, this);
+	}
+
+	public Iterator getAllFiles(int isolateId) {
+		populate();
+		if (isolateId == Isolate.DEFAULT_ID)
+			return m_byInt.iterator();
+		else
+			return getIsolateState(isolateId).iterator();
+	}
+
     public SwfInfo      getSwfFilter()                                  { return m_swfFilter; }
     public boolean      isSwfFilterOn()                                 { return (m_swfFilter != null); }
     public void         setDirty()                                      { m_dirty = true; }
@@ -67,10 +137,28 @@ public class FileInfoCache implements Comparator<SourceFile>
 		clear();
 	}
 
+	SwfInfo[] getAllSwfs() {
+		ArrayList<SwfInfo> result = new ArrayList<SwfInfo>();
+
+		for ( Isolate isolate : m_session.getWorkers()) {
+			SwfInfo[] swfs = new SwfInfo[0];
+			try {
+				swfs = m_session.getWorkerSession(isolate.getId()).getSwfs();
+			} catch (NoResponseException e) {
+				swfs = new SwfInfo[0];
+			}
+
+			for (SwfInfo swf : swfs)
+				result.add(swf);
+		}
+
+		return result.toArray(new SwfInfo[0]);
+	}
+
 	void populate()
 	{
 		// do we have a new swf to load?
-		if (m_session != null && (m_dirty || getSwfs().length > m_swfsLoaded))
+		if (m_session != null && (m_dirty || getAllSwfs().length > m_swfsLoaded))
 			reloadCache();
 	}
 
@@ -84,6 +172,7 @@ public class FileInfoCache implements Comparator<SourceFile>
 	void clear()
 	{
 		m_byInt.clear();
+		m_isolateState.clear();
 		m_files = null;
 	}
 
@@ -113,7 +202,7 @@ public class FileInfoCache implements Comparator<SourceFile>
 	{
 		boolean worked = true; // check that all worked correctly
 		ArrayList<SourceFile> files = new ArrayList<SourceFile>();
-		SwfInfo[] swfs = getSwfs();
+		SwfInfo[] swfs = getAllSwfs();
 		for(int i=0; i<swfs.length; i++)
 		{
 			if (swfs[i] != null)
@@ -144,7 +233,7 @@ public class FileInfoCache implements Comparator<SourceFile>
 			// add each file to our global source file IntMap and our list
 			for(int i=0; i<files.length; i++)
 			{
-				putFile(files[i]);
+				putFile(files[i], swf.getIsolateId());
 				ar.add(files[i]);
 			}
 		}
@@ -209,10 +298,13 @@ public class FileInfoCache implements Comparator<SourceFile>
 	 * be able to locate the SourceFile so that we can
 	 * display the correct context for the user.
 	 */
-	void putFile(SourceFile s)
+	void putFile(SourceFile s, int isolateId)
 	{
 		int i = s.getId();
+		if (isolateId == Isolate.DEFAULT_ID)
 		m_byInt.put(i, s);
+		else
+			getIsolateState(isolateId).put(i, s);
 	}
 
 	/**
@@ -230,7 +322,7 @@ public class FileInfoCache implements Comparator<SourceFile>
 		}
 		else
 		{
-			SwfInfo[] swfs = getSwfs();
+			SwfInfo[] swfs = getAllSwfs();
 			for(int i=0; i<swfs.length; i++)
 			{
 				SwfInfo e = swfs[i];
@@ -251,12 +343,17 @@ public class FileInfoCache implements Comparator<SourceFile>
 	}
 
 	// list all swfs we know about
-	public SwfInfo[] getSwfs()
+	public SwfInfo[] getSwfs(int isolateId)
+	{
+		return getSwfsIsolate(isolateId);
+	}
+
+	public SwfInfo[] getSwfsIsolate(int isolateId)
 	{
 		SwfInfo[] swfs = null;
 		try
 		{
-			swfs = m_session.getSwfs();
+			swfs = m_session.getWorkerSession(isolateId).getSwfs();
 		}
 		catch(NoResponseException nre)
 		{
@@ -268,12 +365,12 @@ public class FileInfoCache implements Comparator<SourceFile>
 	/**
 	 * Given a SourceFile locate the swf which it came from
 	 */
-	public SwfInfo swfForFile(SourceFile f)
+	public SwfInfo swfForFile(SourceFile f, int isolateId)
 	{
 		// We use the id to determine which swf this source files resides in
 		int id = f.getId();
 		SwfInfo info = null;
-		SwfInfo[] swfs = getSwfs();
+		SwfInfo[] swfs = getSwfs(isolateId);//getAllSwfs();
 		for(int i=0; ( i<swfs.length && (info == null) ); i++)
 		{
 			if (swfs[i] != null && swfs[i].containsSource(f))

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/VariableFacade.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/VariableFacade.java b/modules/debugger/src/java/flex/tools/debugger/cli/VariableFacade.java
index c2cdd48..eda7784 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/VariableFacade.java
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/VariableFacade.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flex.tools.debugger.cli;
@@ -41,15 +39,17 @@ public class VariableFacade implements Variable
 	long		m_context;
 	String		m_name;
 	String		m_path;
+	int m_isolateId;
 
-	public VariableFacade(Variable v, long context)		{ init(context, v, null); }
-	public VariableFacade(long context, String name)	{ init(context, null, name); }
+	public VariableFacade(Variable v, long context, int m_isolateId)		{ init(context, v, null, m_isolateId); }
+	public VariableFacade(long context, String name, int m_isolateId)	{ init(context, null, name, m_isolateId); }
 
-	void init(long context, Variable v, String name)
+	void init(long context, Variable v, String name, int isolateId)
 	{
 		m_var = v;
 		m_context = context;
 		m_name = name;
+		m_isolateId = isolateId;
 	}
 
 	/**
@@ -67,8 +67,9 @@ public class VariableFacade implements Variable
 	public boolean		hasValueChanged(Session s)				{ return m_var.hasValueChanged(s); }
 	public FaultEvent setValue(Session s, int type, String value) throws NotSuspendedException, NoResponseException, NotConnectedException
 	{
-		return ((PlayerSession)s).setScalarMember(m_context, getQualifiedName(), type, value);
+		return ((PlayerSession)s).setScalarMember(m_context, getQualifiedName(), type, value, m_var.getIsolateId());
 	}
+	@Override
 	public String		toString()								{ return (m_var == null) ? m_name : m_var.toString(); }
 	public String		getPath()								{ return m_path; }
 	public void			setPath(String path)					{ m_path = path; }
@@ -81,6 +82,10 @@ public class VariableFacade implements Variable
 	/**
 	 * Our lone get context (i.e. parent) interface 
 	 */
-	public int			getContext()									{ return (int)m_context; }
+	public long			getContext()									{ return m_context; }
 	public Variable		getVariable()									{ return m_var; }
+	@Override
+	public int getIsolateId() {
+		return m_isolateId;
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_da.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_da.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_da.properties
index faa02d2..305064c 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_da.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_da.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=development
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. Alle rettigheder forbeholdes.
 noResponseException=Afspilleren reagerede ikke som forventet p\u00e5 kommandoen; kommandoen er afbrudt.
 notSuspendedException=Kommandoen kan ikke afgives mens afspilleren k\u00f8rer
 illegalStateException=Kommandoen fungerer ikke uden for en session.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_de.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_de.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_de.properties
index 381cef2..65107dd 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_de.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_de.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -27,8 +24,8 @@
 # fit on a single line.
 
 defaultBuildName=development
-about=Apache fdb (Flash Player Debugger) [Build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+about=Apache FDB (Flash Player Debugger) [Build ${build}]
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=Der Player hat nicht wie erwartet auf den Befehl reagiert; der Befehl wird abgebrochen.
 notSuspendedException=Der Befehl kann nicht ausgestellt werden, w\u00e4hrend der Player ausgef\u00fchrt wird
 illegalStateException=Der Befehl ist ohne Sitzung nicht zul\u00e4ssig.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_en.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_en.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_en.properties
index 784340f..cecdc4e 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_en.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_en.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=development
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=Player did not respond to the command as expected; command aborted.
 notSuspendedException=Command cannot be issued while Player is running
 illegalStateException=Command not valid without a session.
@@ -47,6 +44,11 @@ unknownBreakpointLocation=<unknown>
 unknownFilename=<unknown>
 inFunctionAt=in ${functionName}() at\ 
 inSwf=\ in ${swf}
+inWorker=Worker ${worker}
+workerRunning=Running
+workerSuspended=Suspended
+workerSelected=(Active)
+mainThread=Main Thread
 nonRestorable=\ ; Non-restorable from prior session
 sourceDirectoriesSearched=Source directories searched:
 attemptingToSuspend=Attempting to suspend Player execution...
@@ -81,6 +83,8 @@ breakpointNoCode=\ (no executable code on the specified line)
 sessionTerminated=Player session terminated
 additionalCodeLoaded=Additional ActionScript code has been loaded from a SWF or a frame.\n\
 To see all currently loaded files, type 'info files'.
+workerChanged=Active worker has changed to worker
+workerNotFound=No worker found with that ID
 setAdditionalBreakpoints=Set additional breakpoints as desired, and then type 'continue'.
 fixBreakpoints=Fix or remove bad breakpoints, then type 'continue'.
 executionHalted=Execution halted
@@ -89,6 +93,8 @@ haltedInFunction=${reasonForHalting}, ${functionName}() at ${fileAndLine}
 haltedInFile=${reasonForHalting}, ${fileAndLine}
 linePrefixWhenDisplayingConsoleError=[Error]
 linePrefixWhenDisplayingFault=[Fault]
+linePrefixWhenWorkerCreated=[WorkerCreate]
+linePrefixWhenWorkerExit=[WorkerDestroy]
 linePrefixWhenSwfLoaded=[SWF]
 linePrefixWhenSwfUnloaded=[UnloadSWF]
 informationAboutFault=, information=
@@ -265,3 +271,4 @@ key34=Player is not currently suspended on any actions.
 key35=in '${swfName}'
 atAddress=at ${address}
 haltedDueToFault=due to ${fault}
+noWorkersRunning=There are no workers running.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_es.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_es.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_es.properties
index e9fb68a..5e4d52f 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_es.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_es.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=desarrollo
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. Reservados todos los derechos.
 noResponseException=El reproductor no respondi\u00f3 al comando como se esperaba; se cancel\u00f3 el comando.
 notSuspendedException=No puede emitirse el comando mientras el reproductor se est\u00e1 ejecutando.
 illegalStateException=El comando no es v\u00e1lido sin una sesi\u00f3n.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fi.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fi.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fi.properties
index a4eab52..fa39036 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fi.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fi.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=kehitys
 about=Apache fdb (Flash Player Debugger) [versio ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=Soitin ei vastannut komentoon odotetulla tavalla. Komento keskeytettiin.
 notSuspendedException=Komentoa ei voi antaa, kun soitin on k\u00e4ynniss\u00e4
 illegalStateException=Komento ei kelpaa ilman istuntoa.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fr.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fr.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fr.properties
index 92a4c14..0c04985 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fr.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_fr.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=d\u00e9veloppement
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. Tous droits r\u00e9serv\u00e9s.
 noResponseException=Le lecteur n'a pas r\u00e9pondu \u00e0 la commande comme pr\u00e9vu ; commande annul\u00e9e.
 notSuspendedException=Impossible d'\u00e9mettre la commande lorsque le lecteur est en cours d'ex\u00e9cution
 illegalStateException=Commande incorrecte sans session.
@@ -47,6 +44,11 @@ unknownBreakpointLocation=<inconnu>
 unknownFilename=<inconnu>
 inFunctionAt=dans ${functionName}() \u00e0 
 inSwf=dans ${swf}
+inWorker=Op\u00e9rateur ${worker}
+workerRunning=En cours d'ex\u00e9cution
+workerSuspended=Suspendu
+workerSelected=(Actif)
+mainThread=Thread principal\u00a0
 nonRestorable=; Aucun \u00e9l\u00e9ment \u00e0 restaurer de la session pr\u00e9c\u00e9dente
 sourceDirectoriesSearched=R\u00e9pertoires source dans lesquels rechercher :
 attemptingToSuspend=Tentative d'interruption de l'ex\u00e9cution du lecteur...
@@ -80,6 +82,8 @@ breakpointAmbiguous=(ambigu)
 breakpointNoCode=(pas de code ex\u00e9cutable sur la ligne sp\u00e9cifi\u00e9e)
 sessionTerminated=La session du lecteur s'est termin\u00e9e
 additionalCodeLoaded=Un code ActionScript suppl\u00e9mentaire a \u00e9t\u00e9 charg\u00e9 depuis un fichier SWF ou une image.\nPour voir tous les fichiers actuellement charg\u00e9s, tapez 'info files'.
+workerChanged=Op\u00e9rateur actif modifi\u00e9 en op\u00e9rateur
+workerNotFound=Aucun op\u00e9rateur trouv\u00e9 pour cet ID
 setAdditionalBreakpoints=D\u00e9finissez les points d'arr\u00eat suppl\u00e9mentaires voulus, puis tapez 'continue'.
 fixBreakpoints=Corrigez ou supprimez les points d'arr\u00eat incorrect, puis tapez 'continue'.
 executionHalted=Ex\u00e9cution arr\u00eat\u00e9e
@@ -88,6 +92,8 @@ haltedInFunction=${reasonForHalting}, ${functionName}() sur ${fileAndLine}
 haltedInFile=${reasonForHalting}, ${fileAndLine}
 linePrefixWhenDisplayingConsoleError=[Error]
 linePrefixWhenDisplayingFault=[Fault]
+linePrefixWhenWorkerCreated=[WorkerCreate]
+linePrefixWhenWorkerExit=[WorkerDestroy]
 linePrefixWhenSwfLoaded=[SWF]
 linePrefixWhenSwfUnloaded=[UnloadSWF]
 informationAboutFault=, information=
@@ -254,3 +260,4 @@ key34=Le lecteur n'est actuellement pas interrompu sur des actions.
 key35=dans '${swfName}'
 atAddress=\u00e0 ${adresse}
 haltedDueToFault=en raison de ${fault}
+noWorkersRunning=Aucun op\u00e9rateur en cours d\u2019ex\u00e9cution

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_it.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_it.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_it.properties
index b0f18f8..d0cd6a5 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_it.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_it.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=sviluppo
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=Player non ha risposto al comando come previsto. Comando terminato.
 notSuspendedException=Impossibile inviare il comando mentre Player \u00e8 in esecuzione
 illegalStateException=Comando non valido senza una sessione.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ja.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ja.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ja.properties
index 4ecc877..7f68711 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ja.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ja.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=development
 about=Apache fdb (Flash Player Debugger) [\u30d3\u30eb\u30c9 ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=Player \u304c\u30b3\u30de\u30f3\u30c9\u306b\u5bfe\u3057\u3066\u4e88\u671f\u3055\u308c\u305f\u5fdc\u7b54\u3092\u3057\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u30b3\u30de\u30f3\u30c9\u51e6\u7406\u306f\u4e2d\u6b62\u3055\u308c\u307e\u3057\u305f\u3002
 notSuspendedException=Player \u306e\u5b9f\u884c\u4e2d\u306b\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
 illegalStateException=\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u78ba\u7acb\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u30b3\u30de\u30f3\u30c9\u306f\u7121\u52b9\u3067\u3059\u3002
@@ -47,6 +44,11 @@ unknownBreakpointLocation=<\u4e0d\u660e>
 unknownFilename=<\u4e0d\u660e>
 inFunctionAt=\u306e\u5834\u6240\u306b\u3042\u308b ${functionName}() \u5185 
 inSwf=${swf} \u5185
+inWorker=\u30ef\u30fc\u30ab\u30fc ${worker}
+workerRunning=\u5b9f\u884c\u4e2d
+workerSuspended=\u4e2d\u65ad
+workerSelected=(\u30a2\u30af\u30c6\u30a3\u30d6)
+mainThread=\u30e1\u30a4\u30f3\u30b9\u30ec\u30c3\u30c9
 nonRestorable=; \u76f4\u524d\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u304b\u3089\u5fa9\u5143\u3067\u304d\u307e\u305b\u3093
 sourceDirectoriesSearched=\u691c\u7d22\u3057\u305f\u30bd\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea :
 attemptingToSuspend=Player \u306e\u5b9f\u884c\u3092\u4e2d\u65ad\u3057\u3066\u3044\u307e\u3059...
@@ -80,6 +82,8 @@ breakpointAmbiguous=(ambiguous)
 breakpointNoCode=(\u6307\u5b9a\u884c\u306b\u306f\u5b9f\u884c\u53ef\u80fd\u306a\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093)
 sessionTerminated=Player \u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u7d42\u4e86\u3057\u307e\u3057\u305f
 additionalCodeLoaded=SWF \u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30d5\u30ec\u30fc\u30e0\u304b\u3089\u8ffd\u52a0\u306e ActionScript \u30b3\u30fc\u30c9\u304c\u30ed\u30fc\u30c9\u3055\u308c\u307e\u3057\u305f\u3002\n\u73fe\u5728\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u300cinfo files\u300d\u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+workerChanged=\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30ef\u30fc\u30ab\u30fc\u304c\u30ef\u30fc\u30ab\u30fc\u306b\u5909\u66f4\u3055\u308c\u307e\u3057\u305f
+workerNotFound=\u305d\u306e ID \u306e\u30ef\u30fc\u30ab\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
 setAdditionalBreakpoints=\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8ffd\u52a0\u8a2d\u5b9a\u3057\u3001\u300ccontinue\u300d\u3068\u5165\u529b\u3057\u307e\u3059\u3002
 fixBreakpoints=\u4e0d\u6b63\u306a\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u4fee\u6b63\u307e\u305f\u306f\u524a\u9664\u3057\u3001\u300ccontinue\u300d\u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
 executionHalted=\u5b9f\u884c\u304c\u4e2d\u6b62\u3055\u308c\u307e\u3057\u305f
@@ -88,6 +92,8 @@ haltedInFunction=\u7406\u7531 : ${reasonForHalting}\u3001\u95a2\u6570\u540d : ${
 haltedInFile=${reasonForHalting}, ${fileAndLine}
 linePrefixWhenDisplayingConsoleError=[\u30a8\u30e9\u30fc]
 linePrefixWhenDisplayingFault=[\u30d5\u30a9\u30eb\u30c8]
+linePrefixWhenWorkerCreated=[WorkerCreate]
+linePrefixWhenWorkerExit=[WorkerDestroy]
 linePrefixWhenSwfLoaded=[SWF]
 linePrefixWhenSwfUnloaded=[UnloadSWF]
 informationAboutFault=\u3001\u60c5\u5831 =
@@ -254,3 +260,4 @@ key34=Player \u3067\u306f\u73fe\u5728\u3069\u306e\u30a2\u30af\u30b7\u30e7\u30f3\
 key35=\\u201d${swfName}\\u201d \u5185
 atAddress=\u30a2\u30c9\u30ec\u30b9 : ${address}
 haltedDueToFault=\u539f\u56e0 : ${fault}
+noWorkersRunning=\u5b9f\u884c\u4e2d\u306e\u30ef\u30fc\u30ab\u30fc\u306f\u3042\u308a\u307e\u305b\u3093\u3002

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ko.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ko.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ko.properties
index 7b21095..c603203 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ko.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_ko.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=\uac1c\ubc1c
 about=Apache fdb(Flash Player Debugger) [\ube4c\ub4dc ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=\ud50c\ub808\uc774\uc5b4\uac00 \uc608\uc0c1\ub300\ub85c \uba85\ub839\uc5d0 \uc751\ub2f5\ud558\uc9c0 \uc54a\uc544 \uba85\ub839\uc774 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
 notSuspendedException=\ud50c\ub808\uc774\uc5b4 \uc2e4\ud589 \uc911\uc5d0 \uba85\ub839\uc744 \uc218\ud589\ud560 \uc218 \uc5c6\uc74c
 illegalStateException=\uc138\uc158\uc774 \uc5c6\uc73c\uba74 \uba85\ub839\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nb.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nb.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nb.properties
index 60c17ba..41c4fef 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nb.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nb.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=utvikling
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=Spilleren reagerte ikke som forventet p\u00e5 kommandoen. Kommando ble avbrutt.
 notSuspendedException=Kommandoen kan ikke gis mens spilleren kj\u00f8rer
 illegalStateException=Kommandoen er ikke gyldig uten en \u00f8kt.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nl.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nl.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nl.properties
index 8c74962..c525f2a 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nl.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_nl.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=ontwikkeling
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
 noResponseException=Player heeft op onverwachte wijze gereageerd op de opdracht; opdracht afgebroken.
 notSuspendedException=Kan opdracht niet uitvoeren terwijl Player wordt uitgevoerd
 illegalStateException=Opdracht niet geldig zonder sessie

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flex/tools/debugger/cli/fdb_pt.properties
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_pt.properties b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_pt.properties
index abed340..ed11515 100644
--- a/modules/debugger/src/java/flex/tools/debugger/cli/fdb_pt.properties
+++ b/modules/debugger/src/java/flex/tools/debugger/cli/fdb_pt.properties
@@ -1,21 +1,18 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 # Translation:
 #
@@ -28,7 +25,7 @@
 
 defaultBuildName=desenvolvimento
 about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2014 The Apache Software Foundation.
+copyright=Copyright 2013 The Apache Software Foundation. Todos os direitos reservados.
 noResponseException=O Player n\u00e3o respondeu ao comando como esperado; comando anulado.
 notSuspendedException=N\u00e3o \u00e9 poss\u00edvel emitir o comando enquanto o Player est\u00e1 em execu\u00e7\u00e3o
 illegalStateException=Comando inv\u00e1lido sem uma sess\u00e3o.