You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/06/02 19:05:19 UTC

[16/50] [abbrv] git commit: [flex-falcon] [refs/heads/develop] - get donated fdbworkers to work, including integration with latest falcon compiler for expression evaluation

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/ValueExp.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/ValueExp.java b/debugger/src/flash/tools/debugger/expression/ValueExp.java
new file mode 100644
index 0000000..988bf3f
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/ValueExp.java
@@ -0,0 +1,79 @@
+/*
+ * 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.
+ */
+
+package flash.tools.debugger.expression;
+
+import flash.tools.debugger.PlayerDebugException;
+
+/**
+ * All objects in the abstract syntax tree must provide 
+ * this interface.  It allows the tree to resolve down
+ * to a single value.
+ * 
+ * The tree nodes are terminal and non-terminal.  Terminals
+ * are constants or variables, non-terminals are everything 
+ * else.  Each non-terminal is an operation which takes 
+ * its left hand child and right hand child as input
+ * and produces a result.  Performing evaluate() at the root of 
+ * the tree results in a single Object being returned.
+ */
+public interface ValueExp
+{
+	/**
+	 * Evaluates the expression. For example, if this node is a "+" node, with a
+	 * 2 left child and a 2 right child, then the return value will be a long
+	 * (that is, a java.lang.Long) with the value 4.
+	 * 
+	 * @param context
+	 *            the context in which the expression should be evaluated;
+	 *            primarily used for looking up variables. For example, when
+	 *            evaluating the expression "myvar", the context looks at
+	 *            locals, members of "this", etc.; when evaluating "myfield"
+	 *            node of the expression "myvar.myfield", the context looks at
+	 *            members of the variable "myvar".
+	 * @return the value of the expression. This might be a literal Java
+	 *         constant (e.g. a Boolean, Integer, String, etc.); or it might be
+	 *         an UndefinedExp, representing the value 'undefined'; or it might
+	 *         be a Value; or it might be a Variable.
+	 * 
+	 * @see Context#lookup(Object)
+	 */
+	public Object evaluate(Context context) throws NumberFormatException, NoSuchVariableException,
+			PlayerFaultException, PlayerDebugException;
+
+	/**
+	 * Returns whether the expression contains any assignments (= or ++ or --).
+	 * Note, there are other kinds of expressions that can have side effects as
+	 * well, such as function calls, or even simple expressions like "foo" if
+	 * foo is a getter.
+	 */
+	public boolean containsAssignment();
+
+	/**
+	 * Returns whether <code>evaluate()</code> will return an object that
+	 * explicitly shows the values of all members of the expression. For
+	 * example, in fdb, if the user writes "print myvar", then isLookupMembers
+	 * will be false, and the debugger will show just the value of
+	 * <code>myvar</code>, but not the values of its members; but if the user
+	 * writes "print myvar." (with a "." at the end), then the debugger will
+	 * show the values of all of the members of <code>myvar</code>.
+	 * 
+	 * @see ASTBuilder#ASTBuilder(boolean)
+	 * @see ASTBuilder#isIndirectionOperatorAllowed()
+	 */
+	public boolean isLookupMembers();
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_da.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_da.properties b/debugger/src/flash/tools/debugger/expression/expression_da.properties
new file mode 100644
index 0000000..fbc4af4
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_da.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed='${keyword}' er ikke tilladt
+classDefinitionNotAllowed=Klassedefinitionen er ikke tilladt
+expressionNotSupported=Udtrykket underst\u00f8ttes ikke
+functionDefinitionNotAllowed=Funktionsdefinitionen er ikke tilladt
+interfaceDefinitionNotAllowed=Gr\u00e6nsefladedefinitionen er ikke tilladt
+labelsNotAllowed=Etiketter er ikke tilladt
+literalObjectsNotSupported=Litterale objekter underst\u00f8ttes ikke
+nullPointerException=Kan ikke \u00e5bne en egenskab eller en metode for en null-objektreference
+StatementListNodeWIthMoreThanOneItem=En StatementListNode med mere end \u00e9t element?
+typeNotExpected=Uventet type
+unrecognizedBinaryOperator=bin\u00e6r operator blev ikke genkendt
+unrecognizedUnaryOperator=monadisk operator blev ikke genkendt
+unsupportedExpression=Udtrykket underst\u00f8ttes ikke
+whatIsDocCommentNode=ved ikke hvad en DocCommentNode er 
+whatIsMetaDataNode=ved ikke hvad en MetaDataNode er 
+xmlLiteralsNotSupported=XML-litteraler underst\u00f8ttes ikke
+binaryProgramNodeUnexpected=Uventet BinaryProgramNode
+noSuchVariable = Variablen findes ikke: ${arg2}
+typeError = Typefejl

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_de.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_de.properties b/debugger/src/flash/tools/debugger/expression/expression_de.properties
new file mode 100644
index 0000000..9c1ce90
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_de.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=\u201e${keyword}\u201c nicht zul\u00e4ssig
+classDefinitionNotAllowed=Klassendefinition nicht zul\u00e4ssig
+expressionNotSupported=Ausdruck nicht unterst\u00fctzt
+functionDefinitionNotAllowed=Funktionsdefinition nicht zul\u00e4ssig
+interfaceDefinitionNotAllowed=Schnittstellendefinition nicht zul\u00e4ssig
+labelsNotAllowed=Bezeichnungen nicht zul\u00e4ssig
+literalObjectsNotSupported=Literalobjekte nicht unterst\u00fctzt
+nullPointerException=Auf eine Eigenschaft oder Methode eines Nullobjektverweises kann nicht zugegriffen werden
+StatementListNodeWIthMoreThanOneItem=Ein StatementListNode mit mehr als einem Element?
+typeNotExpected=Unerwarteter Typ
+unrecognizedBinaryOperator=nicht erkannter Bin\u00e4roperator
+unrecognizedUnaryOperator=nicht erkannter Un\u00e4roperator
+unsupportedExpression=Nicht unterst\u00fctzter Ausdruck
+whatIsDocCommentNode=nicht sicher, was ein DocCommentNode ist
+whatIsMetaDataNode=nicht sicher, was ein MetaDataNode ist
+xmlLiteralsNotSupported=XML-Literale werden nicht unterst\u00fctzt
+binaryProgramNodeUnexpected=BinaryProgramNode nicht erwartet
+noSuchVariable = Variable existiert nicht: ${arg2}
+typeError = Typfehler

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_en.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_en.properties b/debugger/src/flash/tools/debugger/expression/expression_en.properties
new file mode 100644
index 0000000..f915c36
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_en.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed='${keyword}' not allowed
+classDefinitionNotAllowed=Class definition not allowed
+expressionNotSupported=Expression not supported
+functionDefinitionNotAllowed=Function definition not allowed
+interfaceDefinitionNotAllowed=Interface definition not allowed
+labelsNotAllowed=Labels not allowed
+literalObjectsNotSupported=Literal objects not supported
+nullPointerException=Cannot access a property or method of a null object reference
+StatementListNodeWIthMoreThanOneItem=A StatementListNode with more than one item?
+typeNotExpected=Type not expected
+unrecognizedBinaryOperator=unrecognized binary operator
+unrecognizedUnaryOperator=unrecognized unary operator
+unsupportedExpression=Unsupported expression
+whatIsDocCommentNode=not sure what a DocCommentNode is
+whatIsMetaDataNode=not sure what a MetaDataNode is
+xmlLiteralsNotSupported=XML literals are not supported
+binaryProgramNodeUnexpected=BinaryProgramNode unexpected
+noSuchVariable = No such variable: ${arg2}
+typeError = Type error

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_es.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_es.properties b/debugger/src/flash/tools/debugger/expression/expression_es.properties
new file mode 100644
index 0000000..0e07483
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_es.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword}' no permitido
+classDefinitionNotAllowed=Definici\u00f3n de clase no permitida
+expressionNotSupported=Expresi\u00f3n no admitida
+functionDefinitionNotAllowed=Definici\u00f3n de funci\u00f3n no permitida
+interfaceDefinitionNotAllowed=Definici\u00f3n de interfaz no permitida
+labelsNotAllowed=Etiquetas no permitidas
+literalObjectsNotSupported=Objetos literales no admitidos
+nullPointerException=No se puede acceder a una propiedad o un m\u00e9todo de una referencia a objeto con el valor null
+StatementListNodeWIthMoreThanOneItem=\u00bfUn nodo StatementListNode con m\u00e1s de un elemento?
+typeNotExpected=Tipo inesperado
+unrecognizedBinaryOperator=operador binario no reconocido
+unrecognizedUnaryOperator=operador unario no reconocido
+unsupportedExpression=Expresi\u00f3n no admitida
+whatIsDocCommentNode=el significado de DocCommentNode no est\u00e1 claro
+whatIsMetaDataNode=el significado de MetaDataNode no est\u00e1 claro
+xmlLiteralsNotSupported=No se admiten literales XML
+binaryProgramNodeUnexpected=BinaryProgramNode inesperado
+noSuchVariable = No existe la variable: ${arg2}
+typeError = Error de tipo

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_fi.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_fi.properties b/debugger/src/flash/tools/debugger/expression/expression_fi.properties
new file mode 100644
index 0000000..b0fdb35
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_fi.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword}' ei ole sallittu
+classDefinitionNotAllowed=Luokan m\u00e4\u00e4ritys ei ole sallittu
+expressionNotSupported=Ilmaisua ei tueta
+functionDefinitionNotAllowed=Toiminnon m\u00e4\u00e4ritys ei ole sallittu
+interfaceDefinitionNotAllowed=Rajapintam\u00e4\u00e4ritys ei ole sallittu
+labelsNotAllowed=Nimet eiv\u00e4t ole sallittuja
+literalObjectsNotSupported=Literaaliobjekteja ei tueta
+nullPointerException=Null-objektin viitteen ominaisuutta tai menetelm\u00e4\u00e4 ei voi k\u00e4ytt\u00e4\u00e4
+StatementListNodeWIthMoreThanOneItem=StatementListNode, jolla on useampi kuin yksi kohde?
+typeNotExpected=Odottamaton tyyppi
+unrecognizedBinaryOperator=tunnistamaton binaarioperaattori
+unrecognizedUnaryOperator=tunnistamaton unaarioperaattori
+unsupportedExpression=Ilmaisua ei tueta
+whatIsDocCommentNode=ep\u00e4varmaa, mik\u00e4 DocCommentNode on
+whatIsMetaDataNode=ep\u00e4varmaa, mik\u00e4 MetaDataNode on
+xmlLiteralsNotSupported=XML-literaaleja ei tueta
+binaryProgramNodeUnexpected=Odottamaton BinaryProgramNode
+noSuchVariable = Ei t\u00e4llaista muuttujaa: ${arg2}
+typeError = Tyyppivirhe

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_fr.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_fr.properties b/debugger/src/flash/tools/debugger/expression/expression_fr.properties
new file mode 100644
index 0000000..fc44fef
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_fr.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword}' non autoris\u00e9
+classDefinitionNotAllowed=D\u00e9finition de classe non autoris\u00e9e
+expressionNotSupported=Expression non prise en charge
+functionDefinitionNotAllowed=D\u00e9finition de fonction non autoris\u00e9e
+interfaceDefinitionNotAllowed=D\u00e9finition d'interface non autoris\u00e9e
+labelsNotAllowed=Libell\u00e9s non autoris\u00e9s
+literalObjectsNotSupported=Objet litt\u00e9ral non pris en charge
+nullPointerException=Impossible d'acc\u00e9der \u00e0 une propri\u00e9t\u00e9 ou une m\u00e9thode de r\u00e9f\u00e9rence d'objet null
+StatementListNodeWIthMoreThanOneItem=Un StatementListNode avec plusieurs \u00e9l\u00e9ments ?
+typeNotExpected=Type inattendu
+unrecognizedBinaryOperator=op\u00e9rateur binaire non reconnu
+unrecognizedUnaryOperator=op\u00e9rateur unaire non reconnu
+unsupportedExpression=Expression non prise en charge
+whatIsDocCommentNode=pas certain de ce qu'est un DocCommentNode
+whatIsMetaDataNode=pas certain de ce qu'est un MetaDataNode
+xmlLiteralsNotSupported=Les litt\u00e9rales XML ne sont pas prises en charge
+binaryProgramNodeUnexpected=BinaryProgramNode inattendu
+noSuchVariable = Aucune variable : ${arg2}
+typeError = Erreur de type

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_it.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_it.properties b/debugger/src/flash/tools/debugger/expression/expression_it.properties
new file mode 100644
index 0000000..baa58cc
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_it.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword}' non consentito
+classDefinitionNotAllowed=Definizione di classe non consentita
+expressionNotSupported=Espressione non supportata
+functionDefinitionNotAllowed=Definizione della funzione non consentita
+interfaceDefinitionNotAllowed=Definizione dell'interfaccia non consentita
+labelsNotAllowed=Etichette non consentite
+literalObjectsNotSupported=Oggetti letterali non supportati
+nullPointerException=Impossibile accedere a una propriet\u00e0 o a un metodo di un riferimento a un oggetto null
+StatementListNodeWIthMoreThanOneItem=StatementListNode con pi\u00f9 di un elemento?
+typeNotExpected=Tipo non previsto
+unrecognizedBinaryOperator=operatore binario non riconosciuto
+unrecognizedUnaryOperator=operatore unario non riconosciuto
+unsupportedExpression=Espressione non supportata
+whatIsDocCommentNode=DocCommentNode non riconosciuto
+whatIsMetaDataNode=MetaDataNode non riconosciuto
+xmlLiteralsNotSupported=I valori letterali XML non sono supportati
+binaryProgramNodeUnexpected=BinaryProgramNode non previsto
+noSuchVariable = Variabile inesistente: ${arg2}
+typeError = Errore di tipo

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_ja.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_ja.properties b/debugger/src/flash/tools/debugger/expression/expression_ja.properties
new file mode 100644
index 0000000..0683d42
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_ja.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed='${keyword}' \u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+classDefinitionNotAllowed=\u30af\u30e9\u30b9\u5b9a\u7fa9\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+expressionNotSupported=\u5f0f\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+functionDefinitionNotAllowed=\u95a2\u6570\u5b9a\u7fa9\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+interfaceDefinitionNotAllowed=\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u5b9a\u7fa9\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+labelsNotAllowed=\u30e9\u30d9\u30eb\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+literalObjectsNotSupported=\u30ea\u30c6\u30e9\u30eb\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+nullPointerException=null \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u53c2\u7167\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093
+StatementListNodeWIthMoreThanOneItem=StatementListNode \u306b\u8907\u6570\u306e\u30a2\u30a4\u30c6\u30e0\u304c\u3042\u308a\u307e\u3059\u304b\uff1f
+typeNotExpected=\u30bf\u30a4\u30d7\u306f\u4e0d\u8981\u3067\u3059
+unrecognizedBinaryOperator=\u8a8d\u8b58\u3067\u304d\u306a\u3044 2 \u9805\u6f14\u7b97\u5b50
+unrecognizedUnaryOperator=\u8a8d\u8b58\u3067\u304d\u306a\u3044\u5358\u9805\u6f14\u7b97\u5b50
+unsupportedExpression=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u5f0f
+whatIsDocCommentNode=DocCommentNode \u306e\u6b63\u4f53\u304c\u4e0d\u660e\u3067\u3059
+whatIsMetaDataNode=MetaDataNode \u306e\u6b63\u4f53\u304c\u4e0d\u660e\u3067\u3059
+xmlLiteralsNotSupported=XML \u30ea\u30c6\u30e9\u30eb\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+binaryProgramNodeUnexpected=BinaryProgramNode \u306f\u4e88\u671f\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+noSuchVariable = \u6b21\u306e\u5909\u6570\u306f\u3042\u308a\u307e\u305b\u3093 : ${arg2}
+typeError = \u30bf\u30a4\u30d7\u30a8\u30e9\u30fc

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_ko.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_ko.properties b/debugger/src/flash/tools/debugger/expression/expression_ko.properties
new file mode 100644
index 0000000..794c0c8
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_ko.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword}'\uc744(\ub97c) \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+classDefinitionNotAllowed=\ud074\ub798\uc2a4\ub97c \uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+expressionNotSupported=\uc2dd\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+functionDefinitionNotAllowed=\ud568\uc218\ub97c \uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+interfaceDefinitionNotAllowed=\uc778\ud130\ud398\uc774\uc2a4\ub97c \uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+labelsNotAllowed=\ub808\uc774\ube14\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+literalObjectsNotSupported=\ub9ac\ud130\ub7f4 \uac1d\uccb4\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+nullPointerException=null \uac1d\uccb4 \ucc38\uc870\uc758 \uc18d\uc131 \ub610\ub294 \uba54\uc11c\ub4dc\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+StatementListNodeWIthMoreThanOneItem=StatementListNode\uc5d0 \ud56d\ubaa9\uc774 \uc5ec\ub7ec \uac1c \uc788\uc2b5\ub2c8\ub2e4.
+typeNotExpected=\uc608\uae30\uce58 \uc54a\uc740 \uc720\ud615\uc785\ub2c8\ub2e4.
+unrecognizedBinaryOperator=\uc778\uc2dd\ud560 \uc218 \uc5c6\ub294 \uc774\uc9c4 \uc5f0\uc0b0\uc790\uc785\ub2c8\ub2e4.
+unrecognizedUnaryOperator=\uc778\uc2dd\ud560 \uc218 \uc5c6\ub294 \ub2e8\ud56d \uc5f0\uc0b0\uc790\uc785\ub2c8\ub2e4.
+unsupportedExpression=\uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uc2dd\uc785\ub2c8\ub2e4.
+whatIsDocCommentNode=DocCommentNode\ub97c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+whatIsMetaDataNode=MetaDataNode\ub97c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+xmlLiteralsNotSupported=XML \ub9ac\ud130\ub7f4\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+binaryProgramNodeUnexpected=\uc608\uae30\uce58 \uc54a\uc740 BinaryProgramNode
+noSuchVariable = \ub2e4\uc74c \ubcc0\uc218 \uc5c6\uc74c: ${arg2}
+typeError = \uc720\ud615 \uc624\ub958

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_nb.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_nb.properties b/debugger/src/flash/tools/debugger/expression/expression_nb.properties
new file mode 100644
index 0000000..f14340f
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_nb.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword} er ikke tillatt
+classDefinitionNotAllowed=Klassedefinisjon er ikke tillatt
+expressionNotSupported=Uttrykket st\u00f8ttes ikke
+functionDefinitionNotAllowed=Funksjonsdefinisjon er ikke tillatt
+interfaceDefinitionNotAllowed=Grensesnittdefinisjon er ikke tillatt
+labelsNotAllowed=Etiketter er ikke tillatt
+literalObjectsNotSupported=Litteralobjekter st\u00f8ttes ikke
+nullPointerException=Kan ikke hente egenskap eller metode for en nullobjektreferanse
+StatementListNodeWIthMoreThanOneItem=En StatementListNode med mer enn ett element?
+typeNotExpected=Type ikke forventet
+unrecognizedBinaryOperator=kjenner ikke igjen bin\u00e6roperator
+unrecognizedUnaryOperator=kjenner ikke igjen un\u00e6roperator
+unsupportedExpression=Uttrykket st\u00f8ttes ikke
+whatIsDocCommentNode=vet ikke hva en DocCommentNode er
+whatIsMetaDataNode=vet ikke hva en MetaDataNode er
+xmlLiteralsNotSupported=XML-litteraler st\u00f8ttes ikke
+binaryProgramNodeUnexpected=Uventet BinaryProgramNode
+noSuchVariable = Denne variabelen finnes ikke: ${arg2}
+typeError = Typefeil

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_nl.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_nl.properties b/debugger/src/flash/tools/debugger/expression/expression_nl.properties
new file mode 100644
index 0000000..df4b03a
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_nl.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword}' niet toegestaan
+classDefinitionNotAllowed=Klassedefinitie niet toegestaan
+expressionNotSupported=Expressie niet ondersteund
+functionDefinitionNotAllowed=Functiedefinitie niet toegestaan
+interfaceDefinitionNotAllowed=Interfacedefinitie niet toegestaan
+labelsNotAllowed=Labels niet toegestaan
+literalObjectsNotSupported=Letterlijke objecten niet ondersteund
+nullPointerException=Kan een eigenschap of methode van een nul-objectverwijzing niet oproepen
+StatementListNodeWIthMoreThanOneItem=Een StatementListNode met meer dan \u00e9\u00e9n item?
+typeNotExpected=Type niet verwacht
+unrecognizedBinaryOperator=niet-herkende binaire operator
+unrecognizedUnaryOperator=niet-herkende monadische operator
+unsupportedExpression=Niet-ondersteunde expressie
+whatIsDocCommentNode=weet niet zeker wat een DocCommentNode is
+whatIsMetaDataNode=weet niet zeker wat een MetaDataNode is
+xmlLiteralsNotSupported=letterlijke XML-waarden worden niet ondersteund
+binaryProgramNodeUnexpected=BinaryProgramNode onverwacht
+noSuchVariable = Deze variabele bestaat niet: ${arg2}
+typeError = Type fout

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_pt.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_pt.properties b/debugger/src/flash/tools/debugger/expression/expression_pt.properties
new file mode 100644
index 0000000..fb52e15
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_pt.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=${keyword}' n\u00e3o permitido
+classDefinitionNotAllowed=Defini\u00e7\u00e3o de classe n\u00e3o permitida
+expressionNotSupported=N\u00e3o h\u00e1 suporte para a express\u00e3o
+functionDefinitionNotAllowed=Defini\u00e7\u00e3o de fun\u00e7\u00e3o n\u00e3o permitida
+interfaceDefinitionNotAllowed=Defini\u00e7\u00e3o de interface n\u00e3o permitida
+labelsNotAllowed=R\u00f3tulos n\u00e3o permitidos
+literalObjectsNotSupported=N\u00e3o h\u00e1 suporte para objetos literais
+nullPointerException=N\u00e3o \u00e9 poss\u00edvel acessar uma propriedade ou um m\u00e9todo de uma refer\u00eancia de objeto nula
+StatementListNodeWIthMoreThanOneItem=Um StatementListNode com mais de um item?
+typeNotExpected=Tipo n\u00e3o esperado
+unrecognizedBinaryOperator=operador bin\u00e1rio n\u00e3o reconhecido
+unrecognizedUnaryOperator=operador un\u00e1rio n\u00e3o reconhecido
+unsupportedExpression=Express\u00e3o sem suporte
+whatIsDocCommentNode=n\u00e3o h\u00e1 certeza do que \u00e9 DocCommentNode
+whatIsMetaDataNode=n\u00e3o h\u00e1 certeza do que \u00e9 MetaDataNode
+xmlLiteralsNotSupported=N\u00e3o h\u00e1 suporte para literais XML
+binaryProgramNodeUnexpected=BinaryProgramNode inesperado
+noSuchVariable = Vari\u00e1vel inexistente: ${arg2}
+typeError = Erro de tipo

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_ru.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_ru.properties b/debugger/src/flash/tools/debugger/expression/expression_ru.properties
new file mode 100644
index 0000000..7711430
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_ru.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e "${keyword}"
+classDefinitionNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430
+expressionNotSupported=\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435
+functionDefinitionNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438
+interfaceDefinitionNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430
+labelsNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u043c\u0435\u0442\u043a\u0438
+literalObjectsNotSupported=\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b
+nullPointerException=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 \u0438\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u0443 \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442
+StatementListNodeWIthMoreThanOneItem=StatementListNode \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432?
+typeNotExpected=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0439 \u0442\u0438\u043f
+unrecognizedBinaryOperator=\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440
+unrecognizedUnaryOperator=\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0443\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440
+unsupportedExpression=\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435
+whatIsDocCommentNode=\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 DocCommentNode
+whatIsMetaDataNode=\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 MetaDataNode
+xmlLiteralsNotSupported=\u041b\u0438\u0442\u0435\u0440\u0430\u043b\u044b XML \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f.
+binaryProgramNodeUnexpected=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0439 BinaryProgramNode
+noSuchVariable = \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442: ${arg2}
+typeError = \u041e\u0448\u0438\u0431\u043a\u0430 \u0442\u0438\u043f\u0430

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_sv.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_sv.properties b/debugger/src/flash/tools/debugger/expression/expression_sv.properties
new file mode 100644
index 0000000..3f9d6dc
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_sv.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed="${keyword}" till\u00e5ts inte
+classDefinitionNotAllowed=Klassdefinition till\u00e5ts inte
+expressionNotSupported=Det saknas st\u00f6d f\u00f6r uttrycket
+functionDefinitionNotAllowed=Funktionsdefinition till\u00e5ts inte
+interfaceDefinitionNotAllowed=Gr\u00e4nssnittsdefinition till\u00e5ts inte
+labelsNotAllowed=Etiketter till\u00e5ts inte
+literalObjectsNotSupported=Litteralobjekt till\u00e5ts inte
+nullPointerException=Det g\u00e5r inte att komma \u00e5t en egenskap eller metod med objektsreferensen null
+StatementListNodeWIthMoreThanOneItem=Inneh\u00e5ller StatementListNode mer \u00e4n ett objekt?
+typeNotExpected=Typen f\u00f6rv\u00e4ntades inte
+unrecognizedBinaryOperator=ok\u00e4nd bin\u00e4r operator
+unrecognizedUnaryOperator=ok\u00e4nd enst\u00e4llig operator
+unsupportedExpression=Det saknas st\u00f6d f\u00f6r uttrycket
+whatIsDocCommentNode=os\u00e4ker p\u00e5 vad DocCommentNode inneb\u00e4r
+whatIsMetaDataNode=os\u00e4ker p\u00e5 vad MetaDataNode inneb\u00e4r
+xmlLiteralsNotSupported=Det saknas st\u00f6d f\u00f6r XML-litteraler
+binaryProgramNodeUnexpected=BinaryProgramNode f\u00f6rv\u00e4ntades inte
+noSuchVariable = Variabeln ${arg2} finns inte
+typeError = Typfel

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_zh_CN.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_zh_CN.properties b/debugger/src/flash/tools/debugger/expression/expression_zh_CN.properties
new file mode 100644
index 0000000..dbc4058
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_zh_CN.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=\u4e0d\u5141\u8bb8\u201c${keyword}\u201d
+classDefinitionNotAllowed=\u4e0d\u5141\u8bb8\u7c7b\u5b9a\u4e49
+expressionNotSupported=\u4e0d\u652f\u6301\u8868\u8fbe\u5f0f
+functionDefinitionNotAllowed=\u4e0d\u5141\u8bb8\u51fd\u6570\u5b9a\u4e49
+interfaceDefinitionNotAllowed=\u4e0d\u5141\u8bb8\u63a5\u53e3\u5b9a\u4e49
+labelsNotAllowed=\u4e0d\u5141\u8bb8\u6807\u7b7e
+literalObjectsNotSupported=\u4e0d\u652f\u6301\u6587\u672c\u5bf9\u8c61
+nullPointerException=\u65e0\u6cd5\u8bbf\u95ee null \u5bf9\u8c61\u5f15\u7528\u7684\u5c5e\u6027\u6216\u65b9\u6cd5
+StatementListNodeWIthMoreThanOneItem=\u662f\u5426\u4e3a\u5305\u542b\u591a\u4e2a\u9879\u7684 StatementListNode\uff1f
+typeNotExpected=\u610f\u5916\u7684\u7c7b\u578b
+unrecognizedBinaryOperator=\u65e0\u6cd5\u8bc6\u522b\u7684\u4e8c\u5143\u8fd0\u7b97\u7b26
+unrecognizedUnaryOperator=\u65e0\u6cd5\u8bc6\u522b\u7684\u4e00\u5143\u8fd0\u7b97\u7b26
+unsupportedExpression=\u4e0d\u652f\u6301\u7684\u8868\u8fbe\u5f0f
+whatIsDocCommentNode=\u4e0d\u786e\u5b9a DocCommentNode \u662f\u4ec0\u4e48
+whatIsMetaDataNode=\u4e0d\u786e\u5b9a MetaDataNode \u662f\u4ec0\u4e48
+xmlLiteralsNotSupported=\u4e0d\u652f\u6301 XML \u6587\u672c
+binaryProgramNodeUnexpected=\u610f\u5916\u7684 BinaryProgramNode
+noSuchVariable = \u65e0\u6b64\u7c7b\u53d8\u91cf: ${arg2}
+typeError = \u7c7b\u578b\u9519\u8bef

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/expression/expression_zh_TW.properties
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/expression/expression_zh_TW.properties b/debugger/src/flash/tools/debugger/expression/expression_zh_TW.properties
new file mode 100644
index 0000000..8349663
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/expression/expression_zh_TW.properties
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+keywordNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u300c${keyword}\u300d
+classDefinitionNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u985e\u5225\u5b9a\u7fa9
+expressionNotSupported=\u4e0d\u652f\u63f4\u904b\u7b97\u5f0f
+functionDefinitionNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u51fd\u6578\u5b9a\u7fa9
+interfaceDefinitionNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u4ecb\u9762\u5b9a\u7fa9
+labelsNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u6a19\u7c64
+literalObjectsNotSupported=\u4e0d\u652f\u63f4\u5e38\u503c\u7269\u4ef6
+nullPointerException=\u7121\u6cd5\u5b58\u53d6 null \u7269\u4ef6\u53c3\u8003\u7684\u5c6c\u6027\u6216\u65b9\u6cd5
+StatementListNodeWIthMoreThanOneItem=\u5305\u542b\u591a\u500b\u9805\u76ee\u7684 StatementListNode?
+typeNotExpected=\u672a\u9810\u671f\u7684\u985e\u578b
+unrecognizedBinaryOperator=\u7121\u6cd5\u8b58\u5225\u7684\u4e8c\u5143\u904b\u7b97\u5b50
+unrecognizedUnaryOperator=\u7121\u6cd5\u8b58\u5225\u7684\u4e00\u5143\u904b\u7b97\u5b50
+unsupportedExpression=\u4e0d\u652f\u63f4\u7684\u904b\u7b97\u5f0f
+whatIsDocCommentNode=\u4e0d\u78ba\u5b9a DocCommentNode \u662f\u4ec0\u9ebc
+whatIsMetaDataNode=\u4e0d\u78ba\u5b9a MetaDataNode \u662f\u4ec0\u9ebc
+xmlLiteralsNotSupported=\u4e0d\u652f\u63f4 XML \u5e38\u503c
+binaryProgramNodeUnexpected=\u975e\u9810\u671f\u7684 BinaryProgramNode
+noSuchVariable = \u6c92\u6709\u6b64\u985e\u8b8a\u6578: ${arg2}
+typeError = \u985e\u578b\u932f\u8aa4

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeASTBuilder.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeASTBuilder.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeASTBuilder.java
new file mode 100644
index 0000000..7c3f15d
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeASTBuilder.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+package flash.tools.debugger.threadsafe;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.text.ParseException;
+
+import flash.tools.debugger.expression.IASTBuilder;
+import flash.tools.debugger.expression.ValueExp;
+
+/**
+ * @author Mike Morearty
+ */
+public class ThreadSafeASTBuilder extends ThreadSafeDebuggerObject implements IASTBuilder
+{
+	private final IASTBuilder m_astBuilder;
+
+	/**
+	 * @param syncObj
+	 */
+	public ThreadSafeASTBuilder(Object syncObj, IASTBuilder astBuilder)
+	{
+		super(syncObj);
+		m_astBuilder = astBuilder;
+	}
+
+	/**
+	 * Wraps an IASTBuilder inside a ThreadSafeASTBuilder. If the passed-in
+	 * IASTBuilder is null, then this function returns null.
+	 */
+	public static ThreadSafeASTBuilder wrap(Object syncObj, IASTBuilder astBuilder) {
+		if (astBuilder != null)
+			return new ThreadSafeASTBuilder(syncObj, astBuilder);
+		else
+			return null;
+	}
+
+	/*
+	 * @see flash.tools.debugger.expression.IASTBuilder#parse(java.io.Reader)
+	 */
+	public ValueExp parse(Reader in) throws IOException, ParseException
+	{
+		synchronized (getSyncObject()) {
+			return ThreadSafeValueExp.wrap(getSyncObject(), m_astBuilder.parse(in));
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeBootstrap.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeBootstrap.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeBootstrap.java
new file mode 100644
index 0000000..37d016d
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeBootstrap.java
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+package flash.tools.debugger.threadsafe;
+
+import flash.tools.debugger.Bootstrap;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.Bootstrap
+ * @author Mike Morearty
+ */
+public class ThreadSafeBootstrap {
+
+	private static ThreadSafeSessionManager fMgr;
+
+	private ThreadSafeBootstrap() {} // prevent instantiation
+
+	public static synchronized ThreadSafeSessionManager sessionManager()
+	{
+		if (fMgr == null) {
+			fMgr = ThreadSafeSessionManager.wrap(Bootstrap.sessionManager());
+		}
+		return fMgr;
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeDebuggerObject.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeDebuggerObject.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeDebuggerObject.java
new file mode 100644
index 0000000..02511ff
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeDebuggerObject.java
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+package flash.tools.debugger.threadsafe;
+
+/**
+ * Intended to be subclassed.
+ * 
+ * @author Mike Morearty
+ */
+class ThreadSafeDebuggerObject {
+
+	private Object fSyncObj;
+
+	protected ThreadSafeDebuggerObject(Object syncObj) {
+		fSyncObj = syncObj;
+	}
+
+	public final Object getSyncObject() {
+		return fSyncObj;
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeFrame.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
new file mode 100644
index 0000000..c39b2df
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
@@ -0,0 +1,140 @@
+/*
+ * 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.
+ */
+
+package flash.tools.debugger.threadsafe;
+
+import flash.tools.debugger.Frame;
+import flash.tools.debugger.Location;
+import flash.tools.debugger.NoResponseException;
+import flash.tools.debugger.NotConnectedException;
+import flash.tools.debugger.NotSuspendedException;
+import flash.tools.debugger.Session;
+import flash.tools.debugger.Variable;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.Frame
+ * @author Mike Morearty
+ */
+public class ThreadSafeFrame extends ThreadSafeDebuggerObject implements Frame {
+	
+	private Frame fFrame;
+	
+	private ThreadSafeFrame(Object syncObj, Frame frame) {
+		super(syncObj);
+		fFrame = frame;
+	}
+
+	/**
+	 * Wraps a Frame inside a ThreadSafeFrame.  If the passed-in Frame
+	 * is null, then this function returns null.
+	 */
+	public static ThreadSafeFrame wrap(Object syncObj, Frame frame) {
+		if (frame != null)
+			return new ThreadSafeFrame(syncObj, frame);
+		else
+			return null;
+	}
+
+	/**
+	 * Wraps an array of Frames inside an array of ThreadSafeFrames.
+	 */
+	public static ThreadSafeFrame[] wrapArray(Object syncObj, Frame[] frames) {
+		ThreadSafeFrame[] threadSafeFrames = new ThreadSafeFrame[frames.length];
+		for (int i=0; i<frames.length; ++i) {
+			threadSafeFrames[i] = wrap(syncObj, frames[i]);
+		}
+		return threadSafeFrames;
+	}
+
+	public static Object getSyncObject(Frame f) {
+		return ((ThreadSafeFrame)f).getSyncObject();
+	}
+	
+	@Override
+	public int hashCode() {
+		synchronized (getSyncObject()) {
+			return fFrame.hashCode();
+		}
+	}
+
+	@Override
+	public boolean equals(Object other) {
+		synchronized (getSyncObject()) {
+			if (other == null)
+				return false;
+			if (other instanceof ThreadSafeFrame) {
+				return (fFrame.equals(((ThreadSafeFrame)other).fFrame));
+			}
+			if (other instanceof Frame) {
+				return (fFrame.equals(other));
+			}
+			return false;
+		}
+	}
+
+	@Override
+	public String toString() {
+		synchronized (getSyncObject()) {
+			return fFrame.toString();
+		}
+	}
+
+	// -- beginning of delegate functions --
+
+	public Variable[] getArguments(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeVariable.wrapArray(getSyncObject(), fFrame.getArguments(ThreadSafeSession.getRaw(s)));
+		}
+	}
+
+	public String getCallSignature() {
+		synchronized (getSyncObject()) {
+			return fFrame.getCallSignature();
+		}
+	}
+
+	public Variable[] getLocals(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeVariable.wrapArray(getSyncObject(), fFrame.getLocals(ThreadSafeSession.getRaw(s)));
+		}
+	}
+
+	public Location getLocation() {
+		synchronized (getSyncObject()) {
+			return ThreadSafeLocation.wrap(getSyncObject(), fFrame.getLocation());
+		}
+	}
+
+	public Variable getThis(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeVariable.wrap(getSyncObject(), fFrame.getThis(ThreadSafeSession.getRaw(s)));
+		}
+	}
+
+	public Variable[] getScopeChain(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeVariable.wrapArray(getSyncObject(), fFrame.getScopeChain(ThreadSafeSession.getRaw(s)));
+		}
+	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) {
+			return fFrame.getIsolateId();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
new file mode 100644
index 0000000..0cc5619
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+package flash.tools.debugger.threadsafe;
+
+import flash.tools.debugger.Isolate;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.Isolate
+ * @author Anirudh Sasikumar
+ */
+public class ThreadSafeIsolate extends ThreadSafeDebuggerObject implements Isolate {
+
+	private Isolate fIsolate;
+	
+	private ThreadSafeIsolate(Object syncObj, Isolate isolate) {
+		super(syncObj);
+		fIsolate = isolate;
+	}
+
+	/**
+	 * Wraps a Watch inside a ThreadSafeWatch.  If the passed-in Watch
+	 * is null, then this function returns null.
+	 */
+	public static ThreadSafeIsolate wrap(Object syncObj, Isolate isolate) {
+		if (isolate != null)
+			return new ThreadSafeIsolate(syncObj, isolate);
+		else
+			return null;
+	}
+	
+	/**
+	 * Wraps an array of Locations inside an array of ThreadSafeLocations.
+	 */
+	public static ThreadSafeIsolate[] wrapArray(Object syncObj, Isolate[] isolates) {
+		ThreadSafeIsolate[] threadSafeIsolates = new ThreadSafeIsolate[isolates.length];
+		for (int i=0; i<isolates.length; ++i) {
+			threadSafeIsolates[i] = wrap(syncObj, isolates[i]);
+		}
+		return threadSafeIsolates;
+	}
+
+	public int getId() {
+		synchronized (getSyncObject()) {
+			return fIsolate.getId();
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
new file mode 100644
index 0000000..57f0820
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
@@ -0,0 +1,285 @@
+/*
+ * 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.
+ */
+package flash.tools.debugger.threadsafe;
+
+import flash.tools.debugger.Frame;
+import flash.tools.debugger.IsolateSession;
+import flash.tools.debugger.Location;
+import flash.tools.debugger.NoResponseException;
+import flash.tools.debugger.NotConnectedException;
+import flash.tools.debugger.NotSupportedException;
+import flash.tools.debugger.NotSuspendedException;
+import flash.tools.debugger.PlayerDebugException;
+import flash.tools.debugger.SuspendedException;
+import flash.tools.debugger.SwfInfo;
+import flash.tools.debugger.Value;
+import flash.tools.debugger.Variable;
+import flash.tools.debugger.VersionException;
+import flash.tools.debugger.Watch;
+import flash.tools.debugger.expression.PlayerFaultException;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.IsolateSession
+ * @author Anirudh Sasikumar
+ */
+public class ThreadSafeIsolateSession extends ThreadSafeDebuggerObject
+		implements IsolateSession {
+
+	private IsolateSession fSession;
+	
+	private ThreadSafeIsolateSession(Object syncObj, IsolateSession session) {
+		super(syncObj);
+		fSession = session;
+	}
+	
+	/**
+	 * Wraps a Value inside a ThreadSafeValue.  If the passed-in Value
+	 * is null, then this function returns null.
+	 */
+	public static ThreadSafeIsolateSession wrap(Object syncObj, IsolateSession session) {
+		if (session != null)
+			return new ThreadSafeIsolateSession(syncObj, session);
+		else
+			return null;
+	}
+
+	@Override
+	public void resume() throws NotSuspendedException, NotConnectedException,
+			NoResponseException {
+		synchronized (getSyncObject()) {
+			fSession.resume();
+		}		
+	}
+
+	@Override
+	public void suspend() throws SuspendedException, NotConnectedException,
+			NoResponseException {
+		synchronized (getSyncObject()) {
+			fSession.suspend();
+		}
+		
+	}
+
+	@Override
+	public boolean isSuspended() throws NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.isSuspended();
+		}
+	}
+
+	@Override
+	public int suspendReason() throws NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.suspendReason();
+		}
+	}
+
+	public void stepOver() throws NotSuspendedException, NoResponseException,
+	NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepOver();
+		}
+	}
+
+	public void stepContinue() throws NotSuspendedException,
+	NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepContinue();
+		}
+	}
+
+	public void stepInto() throws NotSuspendedException, NoResponseException,
+	NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepInto();
+		}
+	}
+
+	public void stepOut() throws NotSuspendedException, NoResponseException,
+	NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepOut();
+		}
+	}
+
+	@Override
+	public Frame[] getFrames() throws NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeFrame.wrapArray(getSyncObject(), fSession.getFrames());
+		}
+	}
+	
+	@Override
+	public boolean evalIs(Value value, Value type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalIs(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalIs(Value value, String type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalIs(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalInstanceof(Value value, Value type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalInstanceof(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalInstanceof(Value value, String type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalInstanceof(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalIn(Value property, Value object)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalIn(property, object);
+		}
+	}
+
+	@Override
+	public Value evalAs(Value value, Value type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.evalAs(value, type));
+		}
+	}
+
+	@Override
+	public Value callConstructor(String classname, Value[] args) 
+				throws PlayerDebugException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.callConstructor(classname, args));
+		}
+	}
+
+	@Override
+	public Watch[] getWatchList()
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeWatch.wrapArray(getSyncObject(), fSession.getWatchList());
+		}
+	}
+	
+	/** @deprecated */
+	public Variable[] getVariableList() throws NotSuspendedException,
+			NoResponseException, NotConnectedException, VersionException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeVariable.wrapArray(getSyncObject(), fSession.getVariableList());
+		}
+	}
+
+	public Value callFunction(Value thisObject, String functionName, Value[] args)
+	throws PlayerDebugException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.callFunction(thisObject, functionName, args));
+		}
+	}
+	
+	public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException
+	{
+		synchronized (getSyncObject())
+		{
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.getGlobal(name));
+		}
+	}
+	
+	public SwfInfo[] getSwfs() throws NoResponseException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeSwfInfo.wrapArray(getSyncObject(), fSession.getSwfs());
+		}
+	}
+
+	public Value getValue(long valueId) throws NotSuspendedException,
+	NoResponseException, NotConnectedException
+	{
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.getValue(valueId));
+		}
+	}
+
+	public Location setBreakpoint(int fileId, int lineNum)
+	throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeLocation.wrap(getSyncObject(), fSession.setBreakpoint(fileId, lineNum));
+		}
+	}
+
+	@Override
+	public boolean setExceptionBreakpoint(String exceptionClass)
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.setExceptionBreakpoint(exceptionClass); 
+		}
+	}
+
+	@Override
+	public boolean clearExceptionBreakpoint(String exceptionClass)
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.clearExceptionBreakpoint(exceptionClass); 
+		}
+	}
+
+	@Override
+	public void breakOnCaughtExceptions(boolean b)
+			throws NotSupportedException, NoResponseException {
+		synchronized (getSyncObject()) {
+			fSession.breakOnCaughtExceptions(b); 
+		}
+	}
+
+	@Override
+	public boolean supportsWatchpoints() {
+		synchronized (getSyncObject()) {
+			return fSession.supportsWatchpoints(); 
+		}
+	}
+
+	@Override
+	public boolean playerCanBreakOnAllExceptions() {
+		synchronized (getSyncObject()) {
+			return fSession.playerCanBreakOnAllExceptions(); 
+		}
+	}
+
+	@Override
+	public boolean supportsWideLineNumbers() {
+		synchronized (getSyncObject()) {
+			return fSession.supportsWideLineNumbers();
+		}
+	}
+
+	@Override
+	public boolean playerCanCallFunctions() {
+		synchronized (getSyncObject()) {
+			return fSession.playerCanCallFunctions();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeLocation.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
new file mode 100644
index 0000000..26d7824
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+package flash.tools.debugger.threadsafe;
+
+import flash.tools.debugger.Location;
+import flash.tools.debugger.SourceFile;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.Location
+ * @author Mike Morearty
+ */
+public class ThreadSafeLocation extends ThreadSafeDebuggerObject implements Location {
+
+	private Location fLocation;
+	
+	private ThreadSafeLocation(Object syncObj, Location location) {
+		super(syncObj);
+		fLocation = location;
+	}
+
+	/**
+	 * Wraps a Location inside a ThreadSafeLocation.  If the passed-in Location
+	 * is null, then this function returns null.
+	 */
+	public static ThreadSafeLocation wrap(Object syncObj, Location location) {
+		if (location != null)
+			return new ThreadSafeLocation(syncObj, location);
+		else
+			return null;
+	}
+
+	/**
+	 * Wraps an array of Locations inside an array of ThreadSafeLocations.
+	 */
+	public static ThreadSafeLocation[] wrapArray(Object syncObj, Location[] locations) {
+		ThreadSafeLocation[] threadSafeLocations = new ThreadSafeLocation[locations.length];
+		for (int i=0; i<locations.length; ++i) {
+			threadSafeLocations[i] = wrap(syncObj, locations[i]);
+		}
+		return threadSafeLocations;
+	}
+
+	/**
+	 * Returns the raw Location underlying a ThreadSafeLocation.
+	 */
+	public static Location getRaw(Location l) {
+		if (l instanceof ThreadSafeLocation)
+			return ((ThreadSafeLocation)l).fLocation;
+		else
+			return l;
+	}
+
+	public static Object getSyncObject(Location l) {
+		return ((ThreadSafeLocation)l).getSyncObject();
+	}
+
+	public SourceFile getFile() {
+		synchronized (getSyncObject()) {
+			return ThreadSafeSourceFile.wrap(getSyncObject(), fLocation.getFile());
+		}
+	}
+	
+	public int getLine() {
+		synchronized (getSyncObject()) {
+			return fLocation.getLine();
+		}
+	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) {
+			return fLocation.getIsolateId();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/00c0bf63/debugger/src/flash/tools/debugger/threadsafe/ThreadSafePlayer.java
----------------------------------------------------------------------
diff --git a/debugger/src/flash/tools/debugger/threadsafe/ThreadSafePlayer.java b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafePlayer.java
new file mode 100644
index 0000000..ab27e10
--- /dev/null
+++ b/debugger/src/flash/tools/debugger/threadsafe/ThreadSafePlayer.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package flash.tools.debugger.threadsafe;
+
+import java.io.File;
+
+import flash.tools.debugger.Browser;
+import flash.tools.debugger.Player;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.Player
+ * @author Mike Morearty
+ */
+public class ThreadSafePlayer extends ThreadSafeDebuggerObject implements Player {
+
+	private Player fPlayer;
+	
+	private ThreadSafePlayer(Object syncObj, Player player) {
+		super(syncObj);
+		fPlayer = player;
+	}
+
+	/**
+	 * Wraps a Player inside a ThreadSafePlayer.  If the passed-in Player
+	 * is null, then this function returns null.
+	 */
+	public static Player wrap(Object syncObj, Player player) {
+		if (player != null)
+			return new ThreadSafePlayer(syncObj, player);
+		else
+			return null;
+	}
+
+	/*
+	 * @see flash.tools.debugger.Player#getType()
+	 */
+	public int getType() {
+		synchronized (getSyncObject()) {
+			return fPlayer.getType();
+		}
+	}
+
+	/*
+	 * @see flash.tools.debugger.Player#getPath()
+	 */
+	public File getPath() {
+		synchronized (getSyncObject()) {
+			return fPlayer.getPath();
+		}
+	}
+
+	public Browser getBrowser() {
+		synchronized (getSyncObject()) {
+			return fPlayer.getBrowser();
+		}
+	}
+
+}