#844 lowercase/uppercase convertion in DefineTexts

This commit is contained in:
2015-04-07 20:26:49 +02:00
parent c9b5434d75
commit 22751367cd
54 changed files with 557 additions and 503 deletions
@@ -172,7 +172,7 @@ public class ActionScriptParser {
}
private GraphTargetItem memberOrCall(TypeItem thisType, String pkg, Reference<Boolean> needsActivation, List<String> importedClasses, List<Integer> openedNamespaces, GraphTargetItem newcmds, HashMap<String, Integer> registerVars, boolean inFunction, boolean inMethod, List<AssignableAVM2Item> variables) throws IOException, AVM2ParseException {
if(debugMode){
if (debugMode) {
System.out.println("memberOrCall:");
}
ParsedSymbol s = lex();
@@ -213,8 +213,8 @@ public class ActionScriptParser {
}
lexer.pushback(s);
if(debugMode){
if (debugMode) {
System.out.println("/memberOrCall");
}
return ret;
@@ -248,7 +248,7 @@ public class ActionScriptParser {
}
private GraphTargetItem member(TypeItem thisType, String pkg, Reference<Boolean> needsActivation, List<String> importedClasses, List<Integer> openedNamespaces, GraphTargetItem obj, HashMap<String, Integer> registerVars, boolean inFunction, boolean inMethod, List<AssignableAVM2Item> variables) throws IOException, AVM2ParseException {
if(debugMode){
if (debugMode) {
System.out.println("member:");
}
GraphTargetItem ret = obj;
@@ -307,13 +307,13 @@ public class ActionScriptParser {
s = lex();
}
}
if(s.type.getPrecedence() == GraphTargetItem.PRECEDENCE_ASSIGMENT){
if (s.type.getPrecedence() == GraphTargetItem.PRECEDENCE_ASSIGMENT) {
ret = expression1(ret, s.type.getPrecedence(), thisType, pkg, needsActivation, importedClasses, openedNamespaces, inMethod, registerVars, inFunction, inMethod, false, variables);
}else{
} else {
lexer.pushback(s);
}
if(debugMode){
if (debugMode) {
System.out.println("/member");
}
return ret;
@@ -1390,7 +1390,7 @@ public class ActionScriptParser {
if (firstCommand instanceof NameAVM2Item) {
NameAVM2Item nai = (NameAVM2Item) firstCommand;
if (nai.isDefinition() && nai.getAssignedValue() == null) { //??? WUT
firstCommand = expression1(firstCommand,firstCommand.getPrecedence(),thisType, pkg, needsActivation, importedClasses,openedNamespaces,true, registerVars, inFunction, inMethod, true, variables);
firstCommand = expression1(firstCommand, firstCommand.getPrecedence(), thisType, pkg, needsActivation, importedClasses, openedNamespaces, true, registerVars, inFunction, inMethod, true, variables);
}
}
InAVM2Item inexpr = null;
@@ -1682,9 +1682,9 @@ public class ActionScriptParser {
/*
fix > :
a || b > c => a || (b > c)
a < 0 || (b > c) + 1
*/
if (expr instanceof BinaryOp) {
BinaryOp bo = (BinaryOp) expr;
@@ -1787,7 +1787,7 @@ public class ActionScriptParser {
private GraphTargetItem expression(TypeItem thisType, String pkg, Reference<Boolean> needsActivation, List<String> importedClasses, List<Integer> openedNamespaces, boolean allowEmpty, HashMap<String, Integer> registerVars, boolean inFunction, boolean inMethod, boolean allowRemainder, List<AssignableAVM2Item> variables) throws IOException, AVM2ParseException {
GraphTargetItem prim = expressionPrimary(thisType, pkg, needsActivation, importedClasses, openedNamespaces, allowEmpty, registerVars, inFunction, inMethod, allowRemainder, variables);
if(prim==null){
if (prim == null) {
return null;
}
return expression1(prim, GraphTargetItem.NOPRECEDENCE, thisType, pkg, needsActivation, importedClasses, openedNamespaces, allowEmpty, registerVars, inFunction, inMethod, allowRemainder, variables);
@@ -1801,7 +1801,7 @@ public class ActionScriptParser {
*/
private void xmlToGreaterFix(ParsedSymbol symb) {
if (symb.isType(SymbolType.XML_STARTVARTAG_BEGIN, SymbolType.XML_STARTTAG_BEGIN)) {
lexer.yypushbackstr(symb.value.toString().substring(1)); //parse again as GREATER_THAN
lexer.yypushbackstr(symb.value.toString().substring(1)); //parse again as GREATER_THAN
symb.type = SymbolType.GREATER_THAN;
symb.group = SymbolGroup.OPERATOR;
}
@@ -2027,7 +2027,7 @@ public class ActionScriptParser {
default:
if (lhs instanceof ParenthesisItem) {
GraphTargetItem coerced = expression(thisType, pkg, needsActivation, importedClasses, openedNamespaces, registerVars, inFunction, inMethod, allowRemainder, variables);
if (coerced!=null && isType(((ParenthesisItem) lhs).value)) {
if (coerced != null && isType(((ParenthesisItem) lhs).value)) {
lhs = new CoerceAVM2Item(null, ((ParenthesisItem) lhs).value, coerced);
}
}
@@ -2262,7 +2262,7 @@ public class ActionScriptParser {
/*if (allowRemainder && existsRemainder) {
GraphTargetItem rem = ret;
do {
rem = expressionRemainder(thisType, pkg, needsActivation, openedNamespaces, rem, registerVars, inFunction, inMethod, assocRight, variables, importedClasses);
rem = expressionRemainder(thisType, pkg, needsActivation, openedNamespaces, rem, registerVars, inFunction, inMethod, assocRight, variables, importedClasses);
if (rem != null) {
ret = rem;
}
@@ -334,7 +334,7 @@ public class NameAVM2Item extends AssignableAVM2Item {
);
} else {
return toSourceMerge(localData, generator,
(decrement? ins(isInteger ? new DecLocalIIns() : new DecLocalIns(), regNumber):ins(isInteger ? new IncLocalIIns() : new IncLocalIns(), regNumber)));
(decrement ? ins(isInteger ? new DecLocalIIns() : new DecLocalIns(), regNumber) : ins(isInteger ? new IncLocalIIns() : new IncLocalIns(), regNumber)));
}
}
return toSourceMerge(localData, generator,
@@ -1,16 +1,16 @@
/*
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
*
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library.
*/
@@ -25,116 +25,116 @@ import com.jpexs.decompiler.graph.GraphTargetItem;
public enum SymbolType {
//Keywords
BREAK ,
CASE ,
CONTINUE ,
DEFAULT ,
DO ,
WHILE ,
ELSE ,
FOR ,
EACH ,
IN (GraphTargetItem.PRECEDENCE_RELATIONAL,true),
IF ,
RETURN ,
SUPER (GraphTargetItem.PRECEDENCE_PRIMARY,false),
SWITCH ,
THROW ,
TRY ,
CATCH ,
FINALLY ,
WITH ,
DYNAMIC ,
INTERNAL ,
OVERRIDE ,
PRIVATE ,
PROTECTED ,
PUBLIC ,
STATIC ,
CLASS ,
CONST ,
EXTENDS ,
FUNCTION (GraphTargetItem.PRECEDENCE_PRIMARY,false),
GET ,
IMPLEMENTS ,
INTERFACE ,
NAMESPACE ,
PACKAGE ,
SET ,
VAR ,
IMPORT ,
USE ,
FALSE (GraphTargetItem.PRECEDENCE_PRIMARY,false),
NULL (GraphTargetItem.PRECEDENCE_PRIMARY,false),
THIS (GraphTargetItem.PRECEDENCE_PRIMARY,false),
TRUE (GraphTargetItem.PRECEDENCE_PRIMARY,false),
BREAK,
CASE,
CONTINUE,
DEFAULT,
DO,
WHILE,
ELSE,
FOR,
EACH,
IN(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
IF,
RETURN,
SUPER(GraphTargetItem.PRECEDENCE_PRIMARY, false),
SWITCH,
THROW,
TRY,
CATCH,
FINALLY,
WITH,
DYNAMIC,
INTERNAL,
OVERRIDE,
PRIVATE,
PROTECTED,
PUBLIC,
STATIC,
CLASS,
CONST,
EXTENDS,
FUNCTION(GraphTargetItem.PRECEDENCE_PRIMARY, false),
GET,
IMPLEMENTS,
INTERFACE,
NAMESPACE,
PACKAGE,
SET,
VAR,
IMPORT,
USE,
FALSE(GraphTargetItem.PRECEDENCE_PRIMARY, false),
NULL(GraphTargetItem.PRECEDENCE_PRIMARY, false),
THIS(GraphTargetItem.PRECEDENCE_PRIMARY, false),
TRUE(GraphTargetItem.PRECEDENCE_PRIMARY, false),
//Operators
PARENT_OPEN (GraphTargetItem.PRECEDENCE_PRIMARY,false),
PARENT_CLOSE (GraphTargetItem.PRECEDENCE_PRIMARY,false),
CURLY_OPEN (GraphTargetItem.PRECEDENCE_PRIMARY,false),
CURLY_CLOSE (GraphTargetItem.PRECEDENCE_PRIMARY,false),
BRACKET_OPEN (GraphTargetItem.PRECEDENCE_PRIMARY,false),
BRACKET_CLOSE (GraphTargetItem.PRECEDENCE_PRIMARY,false),
SEMICOLON ,
COMMA (GraphTargetItem.PRECEDENCE_COMMA,false),
REST ,
DOT (GraphTargetItem.PRECEDENCE_PRIMARY,false),
ASSIGN (GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
GREATER_THAN (GraphTargetItem.PRECEDENCE_RELATIONAL,true),
LOWER_THAN (GraphTargetItem.PRECEDENCE_RELATIONAL,true),
NOT(GraphTargetItem.PRECEDENCE_UNARY,false),
NEGATE (GraphTargetItem.PRECEDENCE_UNARY,false),
TERNAR (GraphTargetItem.PRECEDENCE_CONDITIONAL,true,true), /*!! ternar !!!*/
COLON(GraphTargetItem.PRECEDENCE_CONDITIONAL,false),/*!! ternar !!!*/
EQUALS (GraphTargetItem.PRECEDENCE_EQUALITY,true),
STRICT_EQUALS (GraphTargetItem.PRECEDENCE_EQUALITY,true),
LOWER_EQUAL (GraphTargetItem.PRECEDENCE_RELATIONAL,true),
GREATER_EQUAL (GraphTargetItem.PRECEDENCE_RELATIONAL,true),
NOT_EQUAL (GraphTargetItem.PRECEDENCE_EQUALITY,true),
STRICT_NOT_EQUAL (GraphTargetItem.PRECEDENCE_EQUALITY,true),
AND(GraphTargetItem.PRECEDENCE_LOGICALAND,true),
OR(GraphTargetItem.PRECEDENCE_LOGICALOR,true),
INCREMENT(GraphTargetItem.PRECEDENCE_POSTFIX,false),//OR Unary
DECREMENT(GraphTargetItem.PRECEDENCE_POSTFIX,false), //OR Unary
PLUS(GraphTargetItem.PRECEDENCE_ADDITIVE,true),
MINUS(GraphTargetItem.PRECEDENCE_ADDITIVE,true), //OR Unary
MULTIPLY(GraphTargetItem.PRECEDENCE_MULTIPLICATIVE,true),
DIVIDE(GraphTargetItem.PRECEDENCE_MULTIPLICATIVE,true),
BITAND(GraphTargetItem.PRECEDENCE_BITWISEAND,true),
BITOR(GraphTargetItem.PRECEDENCE_BITWISEOR,true),
XOR(GraphTargetItem.PRECEDENCE_BITWISEXOR,true),
MODULO(GraphTargetItem.PRECEDENCE_BITWISESHIFT,true),
SHIFT_LEFT(GraphTargetItem.PRECEDENCE_BITWISESHIFT,true),
SHIFT_RIGHT(GraphTargetItem.PRECEDENCE_BITWISESHIFT,true),
USHIFT_RIGHT(GraphTargetItem.PRECEDENCE_BITWISESHIFT,true),
ASSIGN_PLUS(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_MINUS(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_MULTIPLY(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_DIVIDE(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_BITAND(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_BITOR(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_XOR(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_MODULO(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_SHIFT_LEFT(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_SHIFT_RIGHT(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
ASSIGN_USHIFT_RIGHT(GraphTargetItem.PRECEDENCE_ASSIGMENT,true,true),
AS(GraphTargetItem.PRECEDENCE_RELATIONAL,true),
DELETE(GraphTargetItem.PRECEDENCE_UNARY,false),
INSTANCEOF(GraphTargetItem.PRECEDENCE_RELATIONAL,true),
IS(GraphTargetItem.PRECEDENCE_RELATIONAL,true),
NAMESPACE_OP (GraphTargetItem.PRECEDENCE_PRIMARY,false),
NEW(GraphTargetItem.PRECEDENCE_PRIMARY,false),
TYPEOF (GraphTargetItem.PRECEDENCE_UNARY,false),
VOID ,
PARENT_OPEN(GraphTargetItem.PRECEDENCE_PRIMARY, false),
PARENT_CLOSE(GraphTargetItem.PRECEDENCE_PRIMARY, false),
CURLY_OPEN(GraphTargetItem.PRECEDENCE_PRIMARY, false),
CURLY_CLOSE(GraphTargetItem.PRECEDENCE_PRIMARY, false),
BRACKET_OPEN(GraphTargetItem.PRECEDENCE_PRIMARY, false),
BRACKET_CLOSE(GraphTargetItem.PRECEDENCE_PRIMARY, false),
SEMICOLON,
COMMA(GraphTargetItem.PRECEDENCE_COMMA, false),
REST,
DOT(GraphTargetItem.PRECEDENCE_PRIMARY, false),
ASSIGN(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
GREATER_THAN(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
LOWER_THAN(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
NOT(GraphTargetItem.PRECEDENCE_UNARY, false),
NEGATE(GraphTargetItem.PRECEDENCE_UNARY, false),
TERNAR(GraphTargetItem.PRECEDENCE_CONDITIONAL, true, true), /*!! ternar !!!*/
COLON(GraphTargetItem.PRECEDENCE_CONDITIONAL, false),/*!! ternar !!!*/
EQUALS(GraphTargetItem.PRECEDENCE_EQUALITY, true),
STRICT_EQUALS(GraphTargetItem.PRECEDENCE_EQUALITY, true),
LOWER_EQUAL(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
GREATER_EQUAL(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
NOT_EQUAL(GraphTargetItem.PRECEDENCE_EQUALITY, true),
STRICT_NOT_EQUAL(GraphTargetItem.PRECEDENCE_EQUALITY, true),
AND(GraphTargetItem.PRECEDENCE_LOGICALAND, true),
OR(GraphTargetItem.PRECEDENCE_LOGICALOR, true),
INCREMENT(GraphTargetItem.PRECEDENCE_POSTFIX, false),//OR Unary
DECREMENT(GraphTargetItem.PRECEDENCE_POSTFIX, false), //OR Unary
PLUS(GraphTargetItem.PRECEDENCE_ADDITIVE, true),
MINUS(GraphTargetItem.PRECEDENCE_ADDITIVE, true), //OR Unary
MULTIPLY(GraphTargetItem.PRECEDENCE_MULTIPLICATIVE, true),
DIVIDE(GraphTargetItem.PRECEDENCE_MULTIPLICATIVE, true),
BITAND(GraphTargetItem.PRECEDENCE_BITWISEAND, true),
BITOR(GraphTargetItem.PRECEDENCE_BITWISEOR, true),
XOR(GraphTargetItem.PRECEDENCE_BITWISEXOR, true),
MODULO(GraphTargetItem.PRECEDENCE_BITWISESHIFT, true),
SHIFT_LEFT(GraphTargetItem.PRECEDENCE_BITWISESHIFT, true),
SHIFT_RIGHT(GraphTargetItem.PRECEDENCE_BITWISESHIFT, true),
USHIFT_RIGHT(GraphTargetItem.PRECEDENCE_BITWISESHIFT, true),
ASSIGN_PLUS(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_MINUS(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_MULTIPLY(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_DIVIDE(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_BITAND(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_BITOR(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_XOR(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_MODULO(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_SHIFT_LEFT(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_SHIFT_RIGHT(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
ASSIGN_USHIFT_RIGHT(GraphTargetItem.PRECEDENCE_ASSIGMENT, true, true),
AS(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
DELETE(GraphTargetItem.PRECEDENCE_UNARY, false),
INSTANCEOF(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
IS(GraphTargetItem.PRECEDENCE_RELATIONAL, true),
NAMESPACE_OP(GraphTargetItem.PRECEDENCE_PRIMARY, false),
NEW(GraphTargetItem.PRECEDENCE_PRIMARY, false),
TYPEOF(GraphTargetItem.PRECEDENCE_UNARY, false),
VOID,
ATTRIBUTE,
//Other
STRING(GraphTargetItem.PRECEDENCE_PRIMARY,false),
STRING(GraphTargetItem.PRECEDENCE_PRIMARY, false),
COMMENT,
//XML,
IDENTIFIER(GraphTargetItem.PRECEDENCE_PRIMARY,false),
INTEGER(GraphTargetItem.PRECEDENCE_PRIMARY,false),
DOUBLE(GraphTargetItem.PRECEDENCE_PRIMARY,false),
TYPENAME(GraphTargetItem.PRECEDENCE_PRIMARY,false),
IDENTIFIER(GraphTargetItem.PRECEDENCE_PRIMARY, false),
INTEGER(GraphTargetItem.PRECEDENCE_PRIMARY, false),
DOUBLE(GraphTargetItem.PRECEDENCE_PRIMARY, false),
TYPENAME(GraphTargetItem.PRECEDENCE_PRIMARY, false),
EOF,
//TRACE,
//GETURL,
@@ -163,16 +163,16 @@ public enum SymbolType {
//STARTDRAG,
//SUBSTR,
//LENGTH, //string.length
INT(GraphTargetItem.PRECEDENCE_PRIMARY,false),
INT(GraphTargetItem.PRECEDENCE_PRIMARY, false),
//TARGETPATH,
NUMBER_OP(GraphTargetItem.PRECEDENCE_PRIMARY,false),
STRING_OP(GraphTargetItem.PRECEDENCE_PRIMARY,false),
NUMBER_OP(GraphTargetItem.PRECEDENCE_PRIMARY, false),
STRING_OP(GraphTargetItem.PRECEDENCE_PRIMARY, false),
//IFFRAMELOADED,
INFINITY(GraphTargetItem.PRECEDENCE_PRIMARY,false),
INFINITY(GraphTargetItem.PRECEDENCE_PRIMARY, false),
//EVAL,
UNDEFINED(GraphTargetItem.PRECEDENCE_PRIMARY,false),
UNDEFINED(GraphTargetItem.PRECEDENCE_PRIMARY, false),
//NEWLINE,
NAN(GraphTargetItem.PRECEDENCE_PRIMARY,false),
NAN(GraphTargetItem.PRECEDENCE_PRIMARY, false),
//GETVERSION,
//CALL,
//LOADMOVIENUM,
@@ -184,31 +184,33 @@ public enum SymbolType {
//UNLOADMOVIE,
//UNLOADMOVIENUM,
FINAL,
XML_STARTTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // <xxx
XML_STARTVARTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // <{
XML_STARTTAG_END(GraphTargetItem.PRECEDENCE_PRIMARY,false), // >
XML_FINISHVARTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // </{
XML_FINISHTAG(GraphTargetItem.PRECEDENCE_PRIMARY,false), // </xxx>
XML_STARTFINISHTAG_END(GraphTargetItem.PRECEDENCE_PRIMARY,false), // />
XML_COMMENT(GraphTargetItem.PRECEDENCE_PRIMARY,false), // <!-- ... -->
XML_CDATA(GraphTargetItem.PRECEDENCE_PRIMARY,false), //<![CDATA[ ... ]]>
XML_INSTR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // <?xxx
XML_INSTR_END(GraphTargetItem.PRECEDENCE_PRIMARY,false), // ?>
XML_VAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // {
XML_ATTRIBUTENAME(GraphTargetItem.PRECEDENCE_PRIMARY,false), // aaa=
XML_ATTRIBUTEVALUE(GraphTargetItem.PRECEDENCE_PRIMARY,false), // "vvv"
XML_TEXT(GraphTargetItem.PRECEDENCE_PRIMARY,false),
XML_ATTRNAMEVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // {...}=
XML_ATTRVALVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // aaa={
XML_INSTRATTRNAMEVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // {...}=
XML_INSTRATTRVALVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // aaa={
XML_INSTRVARTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY,false), // <?{
FILTER(GraphTargetItem.PRECEDENCE_PRIMARY,false),
DESCENDANTS(GraphTargetItem.PRECEDENCE_PRIMARY,false),
XML_STARTTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // <xxx
XML_STARTVARTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // <{
XML_STARTTAG_END(GraphTargetItem.PRECEDENCE_PRIMARY, false), // >
XML_FINISHVARTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // </{
XML_FINISHTAG(GraphTargetItem.PRECEDENCE_PRIMARY, false), // </xxx>
XML_STARTFINISHTAG_END(GraphTargetItem.PRECEDENCE_PRIMARY, false), // />
XML_COMMENT(GraphTargetItem.PRECEDENCE_PRIMARY, false), // <!-- ... -->
XML_CDATA(GraphTargetItem.PRECEDENCE_PRIMARY, false), //<![CDATA[ ... ]]>
XML_INSTR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // <?xxx
XML_INSTR_END(GraphTargetItem.PRECEDENCE_PRIMARY, false), // ?>
XML_VAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // {
XML_ATTRIBUTENAME(GraphTargetItem.PRECEDENCE_PRIMARY, false), // aaa=
XML_ATTRIBUTEVALUE(GraphTargetItem.PRECEDENCE_PRIMARY, false), // "vvv"
XML_TEXT(GraphTargetItem.PRECEDENCE_PRIMARY, false),
XML_ATTRNAMEVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // {...}=
XML_ATTRVALVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // aaa={
XML_INSTRATTRNAMEVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // {...}=
XML_INSTRATTRVALVAR_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // aaa={
XML_INSTRVARTAG_BEGIN(GraphTargetItem.PRECEDENCE_PRIMARY, false), // <?{
FILTER(GraphTargetItem.PRECEDENCE_PRIMARY, false),
DESCENDANTS(GraphTargetItem.PRECEDENCE_PRIMARY, false),
NATIVE;
private int precedence = GraphTargetItem.NOPRECEDENCE;
private boolean binary = false;
private boolean rightAssociative = false;
public boolean isBinary() {
@@ -217,25 +219,24 @@ public enum SymbolType {
public boolean isRightAssociative() {
return rightAssociative;
}
}
public int getPrecedence() {
return precedence;
}
private SymbolType(int precedence,boolean binary){
private SymbolType(int precedence, boolean binary) {
this.precedence = precedence;
this.binary = binary;
}
private SymbolType(int precedence,boolean binary, boolean rightAssociative){
private SymbolType(int precedence, boolean binary, boolean rightAssociative) {
this.precedence = precedence;
this.binary = binary;
this.rightAssociative = rightAssociative;
}
private SymbolType(){
private SymbolType() {
}
}
@@ -31,15 +31,13 @@ public class ScriptInfo {
private boolean modified = true;
public void setModified(boolean modified) {
this.modified = modified;
this.modified = modified;
}
public boolean isModified() {
return modified;
}
@Internal
public boolean deleted;
@@ -48,7 +46,7 @@ public class ScriptInfo {
public Traits traits;
public ScriptInfo() {
traits = new Traits();
traits = new Traits();
}
public ScriptInfo(Traits traits) {
@@ -450,9 +450,8 @@ public class TraitClass extends Trait implements TraitWithSlot {
writer.startBlock();
//static variables & constants
abc.class_info.get(class_info).static_traits.toString(new Class[]{TraitSlotConst.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
abc.class_info.get(class_info).static_traits.toString(new Class[]{TraitSlotConst.class}, this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//static initializer
int bodyIndex = abc.findBodyIndex(abc.class_info.get(class_info).cinit_index);
if (bodyIndex != -1) {
@@ -471,9 +470,8 @@ public class TraitClass extends Trait implements TraitWithSlot {
}
//instance variables
abc.instance_info.get(class_info).instance_traits.toString(new Class[]{TraitSlotConst.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
abc.instance_info.get(class_info).instance_traits.toString(new Class[]{TraitSlotConst.class}, this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//instance initializer - constructor
if (!abc.instance_info.get(class_info).isInterface()) {
String modifier = "";
@@ -512,14 +510,13 @@ public class TraitClass extends Trait implements TraitWithSlot {
writer.endMethod();
writer.endTrait();
}
//static methods
abc.class_info.get(class_info).static_traits.toString(new Class[]{TraitClass.class,TraitFunction.class,TraitMethodGetterSetter.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//instance methods
abc.instance_info.get(class_info).instance_traits.toString(new Class[]{TraitClass.class,TraitFunction.class,TraitMethodGetterSetter.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//static methods
abc.class_info.get(class_info).static_traits.toString(new Class[]{TraitClass.class, TraitFunction.class, TraitMethodGetterSetter.class}, this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//instance methods
abc.instance_info.get(class_info).instance_traits.toString(new Class[]{TraitClass.class, TraitFunction.class, TraitMethodGetterSetter.class}, this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
writer.endBlock(); // class
writer.endClass();
writer.newLine();
@@ -141,18 +141,18 @@ public class Traits implements Serializable {
}
}
public GraphTextWriter toString(Class[] traitTypes,Trait parent, String path, ABC abc, boolean isStatic, ScriptExportMode exportMode, boolean makePackages, int scriptIndex, int classIndex, GraphTextWriter writer, List<String> fullyQualifiedNames, boolean parallel) throws InterruptedException {
for (int t = 0; t < traits.size(); t++) {
public GraphTextWriter toString(Class[] traitTypes, Trait parent, String path, ABC abc, boolean isStatic, ScriptExportMode exportMode, boolean makePackages, int scriptIndex, int classIndex, GraphTextWriter writer, List<String> fullyQualifiedNames, boolean parallel) throws InterruptedException {
for (int t = 0; t < traits.size(); t++) {
Trait trait = traits.get(t);
if(traitTypes!=null){
if (traitTypes != null) {
boolean found = false;
for(Class c:traitTypes){
if(c.isInstance(trait)){
for (Class c : traitTypes) {
if (c.isInstance(trait)) {
found = true;
break;
}
}
if(!found){
if (!found) {
continue;
}
}