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();
+ }
+ }
+
+}