📄 constantsmanager.java
字号:
// You can redistribute this software and/or modify it under the terms of// the Infozone Software License version 2 published by the Infozone Group// (http://www.infozone-group.org).//// Copyright (C) @year@ by The Infozone Group. All rights reserved.//// $Id: ConstantsManager.java,v 1.1 2002/05/10 08:59:12 per_nyfelt Exp $package org.infozone.tools.janalyzer;/** All available Expressions and Nodes of the syntax tree */import koala.dynamicjava.tree.*;/** For all available Modifier strings. */import java.lang.reflect.Modifier;/** * This class returns String Constants for Binary Expressions, * Access Modifier and so on. * It's used by the JavaCodeAnalyzer class in this package. * * @version $Revision: 1.1 $ $Date: 2002/05/10 08:59:12 $ * @author <a href="http://www.softwarebuero.de">SMB</a> * @see org.infozone.tools.janalyzer.JavaCodeAnalyzer for details */public final class ConstantsManager extends java.lang.Object { public static String getBinaryExpressionString( Expression aExp ) { if (aExp instanceof AddExpression) { return "+"; } if (aExp instanceof AddAssignExpression) { return "+="; } if (aExp instanceof BitAndAssignExpression) { return "&="; } if (aExp instanceof BitOrAssignExpression) { return "|="; } if (aExp instanceof DivideAssignExpression) { return "/="; } if (aExp instanceof ExclusiveOrAssignExpression) { return "^="; } if (aExp instanceof MultiplyAssignExpression) { return "*="; } if (aExp instanceof RemainderExpression) { return "%"; } if (aExp instanceof RemainderAssignExpression) { return "%="; } if (aExp instanceof ShiftLeftAssignExpression) { return ">>="; } if (aExp instanceof ShiftRightAssignExpression) { return "<<="; } if (aExp instanceof SimpleAssignExpression) { return "="; } if (aExp instanceof SubtractAssignExpression) { return "-="; } if (aExp instanceof UnsignedShiftRightAssignExpression) { return ">>>="; } if (aExp instanceof AndExpression) { return "&&"; } if (aExp instanceof BitAndExpression) { return "&"; } if (aExp instanceof BitOrExpression) { return "|"; } if (aExp instanceof DivideExpression) { return "/"; } if (aExp instanceof EqualExpression) { return "=="; } if (aExp instanceof ExclusiveOrExpression) { return "^"; } if (aExp instanceof GreaterExpression) { return ">"; } if (aExp instanceof GreaterOrEqualExpression) { return ">="; } if (aExp instanceof LessExpression) { return "<"; } if (aExp instanceof LessOrEqualExpression) { return "<="; } if (aExp instanceof MultiplyExpression) { return "*"; } if (aExp instanceof NotEqualExpression) { return "!="; } if (aExp instanceof OrExpression) { return "||"; } if (aExp instanceof ShiftLeftExpression) { return "<<"; } if (aExp instanceof ShiftRightExpression) { return ">>"; } if (aExp instanceof SimpleAssignExpression) { return "="; } if (aExp instanceof SubtractExpression) { return "-"; } if (aExp instanceof UnsignedShiftRightExpression) { return ">>>"; } return "Constants Manager: unknown BinaryExpressionString " + aExp; } /** * The right operator Precedence of all conditional operators in binary expressions. * @see package koala.dynamicjava.tree * @return A int value of the level. * */ public static int getExpressionLevel( Expression aExp ) { if (aExp instanceof AddAssignExpression || aExp instanceof BitAndAssignExpression || aExp instanceof BitOrAssignExpression || aExp instanceof DivideAssignExpression || aExp instanceof ExclusiveOrAssignExpression || aExp instanceof MultiplyAssignExpression || aExp instanceof RemainderAssignExpression || aExp instanceof ShiftLeftAssignExpression || aExp instanceof ShiftRightAssignExpression || aExp instanceof SimpleAssignExpression || aExp instanceof SubtractAssignExpression || aExp instanceof UnsignedShiftRightAssignExpression) { return 1; } if (aExp instanceof ConditionalExpression) { return 2; } if (aExp instanceof OrExpression) { return 3; } if (aExp instanceof AndExpression) { return 4; } if (aExp instanceof BitOrExpression) { return 5; } if (aExp instanceof ExclusiveOrExpression) { return 6; } if (aExp instanceof BitAndExpression) { return 7; } if (aExp instanceof EqualExpression || aExp instanceof NotEqualExpression) { return 8; } if (aExp instanceof GreaterExpression || aExp instanceof GreaterOrEqualExpression || aExp instanceof LessExpression || aExp instanceof LessOrEqualExpression || aExp instanceof InstanceOfExpression) { return 9; } if (aExp instanceof ShiftLeftExpression || aExp instanceof ShiftRightExpression || aExp instanceof UnsignedShiftRightExpression) { return 10; } if (aExp instanceof AddExpression || aExp instanceof SubtractExpression) { return 11; } if (aExp instanceof DivideExpression || aExp instanceof RemainderExpression || aExp instanceof MultiplyExpression) { return 12; } if (aExp instanceof CastExpression) { return 13; } if (aExp instanceof NotExpression || aExp instanceof PreDecrement || aExp instanceof PreIncrement || aExp instanceof PlusExpression || aExp instanceof MinusExpression) { return 14; } if (aExp instanceof PostDecrement || aExp instanceof PostIncrement || aExp instanceof ObjectMethodCall || aExp instanceof ObjectFieldAccess || aExp instanceof ArrayAccess || aExp instanceof CastExpression) { return 15; } // literals should not be in parenthesis //printDB("ConstantsManager Expression " + aExp // + " not found return level 16"); return 16; } /** * All avaliable modifiers of the JAVA Language. * @see java.lang.reflect.Modifier * @return A String representation of all suitable modifier or * an empty string. * */ public static String getModifierString( int access ) { String ret = ""; if ((Modifier.PRIVATE & access) == Modifier.PRIVATE) { ret += "private "; } if ((Modifier.PROTECTED & access) == Modifier.PROTECTED) { ret += "protected "; } if ((Modifier.PUBLIC & access) == Modifier.PUBLIC) { ret += "public "; } if ((Modifier.SYNCHRONIZED & access) == Modifier.SYNCHRONIZED) { ret += "synchronized "; } if ((Modifier.ABSTRACT & access) == Modifier.ABSTRACT) { ret += "abstract "; } if ((Modifier.FINAL & access) == Modifier.FINAL) { ret += "final "; } if ((Modifier.INTERFACE & access) == Modifier.INTERFACE) { ret += "interface "; } if ((Modifier.NATIVE & access) == Modifier.NATIVE) { ret += "native "; } if ((Modifier.STATIC & access) == Modifier.STATIC) { ret += "static "; } if ((Modifier.STRICT & access) == Modifier.STRICT) { ret += "strict "; } if ((Modifier.TRANSIENT & access) == Modifier.TRANSIENT) { ret += "transient "; } if ((Modifier.VOLATILE & access) == Modifier.VOLATILE) { ret += "volatile "; } /* if (ret.length()>1) { return ret.substring(0, ret.length()-1); } */ return ret; } public static void printDB( String aLine ) { System.err.println( aLine ); getBinaryExpressionString( null ).length(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -