/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package net.sourceforge.phpdt.internal.compiler.impl; import java.io.ByteArrayInputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; //import java.util.HashMap; import java.util.Map; import net.sourceforge.phpdt.core.compiler.CharOperation; import net.sourceforge.phpdt.internal.compiler.Compiler; import net.sourceforge.phpdt.internal.compiler.env.IConstants; import net.sourceforge.phpdt.internal.compiler.lookup.ProblemReasons; import net.sourceforge.phpdt.internal.compiler.problem.ProblemSeverities; public class CompilerOptions implements ProblemReasons, ProblemSeverities, IConstants { /** * Option IDs */ public static final String OPTION_PHPVarDeprecatedWarning = "net.sourceforge.phpeclipse.compiler.problem.phpVarDeprecatedWarning"; //$NON-NLS-1$ public static final String OPTION_PHPBadStyleKeywordWarning = "net.sourceforge.phpeclipse.compiler.problem.phpBadStyleKeywordWarning"; //$NON-NLS-1$ public static final String OPTION_PHPBadStyleUppercaseIdentifierWarning = "net.sourceforge.phpeclipse.compiler.problem.phpBadStyleUppercaseIdentifierWarning"; //$NON-NLS-1$ public static final String OPTION_PHPIncludeNotExistWarning = "net.sourceforge.phpeclipse.compiler.problem.phpIncludeNotExistWarning"; //$NON-NLS-1$ public static final String OPTION_UninitializedLocalVariableWarning = "net.sourceforge.phpeclipse.compiler.problem.uninitializedLocalVariableWarning"; //$NON-NLS-1$ public static final String OPTION_CodeCannotBeReachedWarning = "net.sourceforge.phpeclipse.compiler.problem.codeCannotBeReachedWarning"; //$NON-NLS-1$ public static final String OPTION_LocalVariableAttribute = "net.sourceforge.phpeclipse.compiler.debug.localVariable"; //$NON-NLS-1$ public static final String OPTION_LineNumberAttribute = "net.sourceforge.phpeclipse.compiler.debug.lineNumber"; //$NON-NLS-1$ public static final String OPTION_SourceFileAttribute = "net.sourceforge.phpeclipse.compiler.debug.sourceFile"; //$NON-NLS-1$ // public static final String OPTION_PreserveUnusedLocal = // "net.sourceforge.phpeclipse.compiler.codegen.unusedLocal"; //$NON-NLS-1$ public static final String OPTION_DocCommentSupport = "net.sourceforge.phpeclipse.compiler.doc.comment.support"; //$NON-NLS-1$ public static final String OPTION_ReportMethodWithConstructorName = "net.sourceforge.phpeclipse.compiler.problem.methodWithConstructorName"; //$NON-NLS-1$ public static final String OPTION_ReportOverridingPackageDefaultMethod = "net.sourceforge.phpeclipse.compiler.problem.overridingPackageDefaultMethod"; //$NON-NLS-1$ public static final String OPTION_ReportDeprecation = "net.sourceforge.phpeclipse.compiler.problem.deprecation"; //$NON-NLS-1$ public static final String OPTION_ReportDeprecationInDeprecatedCode = "net.sourceforge.phpeclipse.compiler.problem.deprecationInDeprecatedCode"; //$NON-NLS-1$ public static final String OPTION_ReportDeprecationWhenOverridingDeprecatedMethod = "net.sourceforge.phpeclipse.compiler.problem.deprecationWhenOverridingDeprecatedMethod"; //$NON-NLS-1$ public static final String OPTION_ReportHiddenCatchBlock = "net.sourceforge.phpeclipse.compiler.problem.hiddenCatchBlock"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedLocal = "net.sourceforge.phpeclipse.compiler.problem.unusedLocal"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedParameter = "net.sourceforge.phpeclipse.compiler.problem.unusedParameter"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedParameterWhenImplementingAbstract = "net.sourceforge.phpeclipse.compiler.problem.unusedParameterWhenImplementingAbstract"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedParameterWhenOverridingConcrete = "net.sourceforge.phpeclipse.compiler.problem.unusedParameterWhenOverridingConcrete"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedImport = "net.sourceforge.phpeclipse.compiler.problem.unusedImport"; //$NON-NLS-1$ public static final String OPTION_ReportSyntheticAccessEmulation = "net.sourceforge.phpeclipse.compiler.problem.syntheticAccessEmulation"; //$NON-NLS-1$ public static final String OPTION_ReportNoEffectAssignment = "net.sourceforge.phpeclipse.compiler.problem.noEffectAssignment"; //$NON-NLS-1$ public static final String OPTION_ReportLocalVariableHiding = "net.sourceforge.phpeclipse.compiler.problem.localVariableHiding"; //$NON-NLS-1$ public static final String OPTION_ReportSpecialParameterHidingField = "net.sourceforge.phpeclipse.compiler.problem.specialParameterHidingField"; //$NON-NLS-1$ public static final String OPTION_ReportFieldHiding = "net.sourceforge.phpeclipse.compiler.problem.fieldHiding"; //$NON-NLS-1$ public static final String OPTION_ReportPossibleAccidentalBooleanAssignment = "net.sourceforge.phpeclipse.compiler.problem.possibleAccidentalBooleanAssignment"; //$NON-NLS-1$ public static final String OPTION_ReportNonExternalizedStringLiteral = "net.sourceforge.phpeclipse.compiler.problem.nonExternalizedStringLiteral"; //$NON-NLS-1$ public static final String OPTION_ReportIncompatibleNonInheritedInterfaceMethod = "net.sourceforge.phpeclipse.compiler.problem.incompatibleNonInheritedInterfaceMethod"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedPrivateMember = "net.sourceforge.phpeclipse.compiler.problem.unusedPrivateMember"; //$NON-NLS-1$ public static final String OPTION_ReportNoImplicitStringConversion = "net.sourceforge.phpeclipse.compiler.problem.noImplicitStringConversion"; //$NON-NLS-1$ public static final String OPTION_ReportAssertIdentifier = "net.sourceforge.phpeclipse.compiler.problem.assertIdentifier"; //$NON-NLS-1$ public static final String OPTION_ReportNonStaticAccessToStatic = "net.sourceforge.phpeclipse.compiler.problem.staticAccessReceiver"; //$NON-NLS-1$ public static final String OPTION_ReportIndirectStaticAccess = "net.sourceforge.phpeclipse.compiler.problem.indirectStaticAccess"; //$NON-NLS-1$ public static final String OPTION_ReportSuperfluousSemicolon = "net.sourceforge.phpeclipse.compiler.problem.superfluousSemicolon"; //$NON-NLS-1$ public static final String OPTION_ReportUnnecessaryTypeCheck = "net.sourceforge.phpeclipse.compiler.problem.unnecessaryTypeCheck"; //$NON-NLS-1$ public static final String OPTION_ReportUndocumentedEmptyBlock = "net.sourceforge.phpeclipse.compiler.problem.undocumentedEmptyBlock"; //$NON-NLS-1$ public static final String OPTION_ReportInvalidJavadoc = "net.sourceforge.phpeclipse.compiler.problem.invalidJavadoc"; //$NON-NLS-1$ public static final String OPTION_ReportInvalidJavadocTags = "net.sourceforge.phpeclipse.compiler.problem.invalidJavadocTags"; //$NON-NLS-1$ public static final String OPTION_ReportInvalidJavadocTagsVisibility = "net.sourceforge.phpeclipse.compiler.problem.invalidJavadocTagsVisibility"; //$NON-NLS-1$ public static final String OPTION_ReportMissingJavadocTags = "net.sourceforge.phpeclipse.compiler.problem.missingJavadocTags"; //$NON-NLS-1$ public static final String OPTION_ReportMissingJavadocTagsVisibility = "net.sourceforge.phpeclipse.compiler.problem.missingJavadocTagsVisibility"; //$NON-NLS-1$ public static final String OPTION_ReportMissingJavadocTagsOverriding = "net.sourceforge.phpeclipse.compiler.problem.missingJavadocTagsOverriding"; //$NON-NLS-1$ public static final String OPTION_ReportMissingJavadocComments = "net.sourceforge.phpeclipse.compiler.problem.missingJavadocComments"; //$NON-NLS-1$ public static final String OPTION_ReportMissingJavadocCommentsVisibility = "net.sourceforge.phpeclipse.compiler.problem.missingJavadocCommentsVisibility"; //$NON-NLS-1$ public static final String OPTION_ReportMissingJavadocCommentsOverriding = "net.sourceforge.phpeclipse.compiler.problem.missingJavadocCommentsOverriding"; //$NON-NLS-1$ public static final String OPTION_ReportFinallyBlockNotCompletingNormally = "net.sourceforge.phpeclipse.compiler.problem.finallyBlockNotCompletingNormally"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedDeclaredThrownException = "net.sourceforge.phpeclipse.compiler.problem.unusedDeclaredThrownException"; //$NON-NLS-1$ public static final String OPTION_ReportUnusedDeclaredThrownExceptionWhenOverriding = "net.sourceforge.phpeclipse.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding"; //$NON-NLS-1$ public static final String OPTION_ReportUnqualifiedFieldAccess = "net.sourceforge.phpeclipse.compiler.problem.unqualifiedFieldAccess"; //$NON-NLS-1$ // public static final String OPTION_Source = // "net.sourceforge.phpeclipse.compiler.source"; //$NON-NLS-1$ // public static final String OPTION_TargetPlatform = // "net.sourceforge.phpeclipse.compiler.codegen.targetPlatform"; // //$NON-NLS-1$ // public static final String OPTION_Compliance = // "net.sourceforge.phpeclipse.compiler.compliance"; //$NON-NLS-1$ public static final String OPTION_Encoding = "net.sourceforge.phpeclipse.encoding"; //$NON-NLS-1$ public static final String OPTION_MaxProblemPerUnit = "net.sourceforge.phpeclipse.compiler.maxProblemPerUnit"; //$NON-NLS-1$ public static final String OPTION_TaskTags = "net.sourceforge.phpeclipse.compiler.taskTags"; //$NON-NLS-1$ public static final String OPTION_TaskPriorities = "net.sourceforge.phpeclipse.compiler.taskPriorities"; //$NON-NLS-1$ // Backward compatibility public static final String OPTION_ReportInvalidAnnotation = "net.sourceforge.phpeclipse.compiler.problem.invalidAnnotation"; //$NON-NLS-1$ public static final String OPTION_ReportMissingAnnotation = "net.sourceforge.phpeclipse.compiler.problem.missingAnnotation"; //$NON-NLS-1$ public static final String OPTION_ReportMissingJavadoc = "net.sourceforge.phpeclipse.compiler.problem.missingJavadoc"; //$NON-NLS-1$ /* should surface ??? */ // public static final String OPTION_PrivateConstructorAccess = // "net.sourceforge.phpeclipse.compiler.codegen.constructorAccessEmulation"; // //$NON-NLS-1$ /** * Possible values for configurable options */ public static final String GENERATE = "generate";//$NON-NLS-1$ public static final String DO_NOT_GENERATE = "do not generate"; //$NON-NLS-1$ public static final String PRESERVE = "preserve"; //$NON-NLS-1$ // public static final String OPTIMIZE_OUT = "optimize out"; //$NON-NLS-1$ // public static final String VERSION_1_1 = "1.1"; //$NON-NLS-1$ // public static final String VERSION_1_2 = "1.2"; //$NON-NLS-1$ // public static final String VERSION_1_3 = "1.3"; //$NON-NLS-1$ // public static final String VERSION_1_4 = "1.4"; //$NON-NLS-1$ // public static final String VERSION_1_5 = "1.5"; //$NON-NLS-1$ public static final String ERROR = "error"; //$NON-NLS-1$ public static final String WARNING = "warning"; //$NON-NLS-1$ public static final String IGNORE = "ignore"; //$NON-NLS-1$ public static final String ENABLED = "enabled"; //$NON-NLS-1$ public static final String DISABLED = "disabled"; //$NON-NLS-1$ public static final String PUBLIC = "public"; //$NON-NLS-1$ public static final String PROTECTED = "protected"; //$NON-NLS-1$ public static final String DEFAULT = "default"; //$NON-NLS-1$ public static final String PRIVATE = "private"; //$NON-NLS-1$ /** * Bit mask for configurable problems (error/warning threshold) */ // 0x100L unused // 0x200L unused // 0x400L unused // 0x800L unused public static final long MethodWithConstructorName = 0x1000L; public static final long OverriddenPackageDefaultMethod = 0x2000L; public static final long UsingDeprecatedAPI = 0x4000L; public static final long MaskedCatchBlock = 0x8000L; public static final long UnusedLocalVariable = 0x10000L; public static final long UnusedArgument = 0x20000L; public static final long NoImplicitStringConversion = 0x40000L; public static final long AccessEmulation = 0x80000L; public static final long NonExternalizedString = 0x100000L; public static final long AssertUsedAsAnIdentifier = 0x200000L; public static final long UnusedImport = 0x400000L; public static final long NonStaticAccessToStatic = 0x800000L; public static final long Task = 0x1000000L; public static final long NoEffectAssignment = 0x2000000L; public static final long IncompatibleNonInheritedInterfaceMethod = 0x4000000L; public static final long UnusedPrivateMember = 0x8000000L; public static final long LocalVariableHiding = 0x10000000L; public static final long FieldHiding = 0x20000000L; public static final long AccidentalBooleanAssign = 0x40000000L; public static final long SuperfluousSemicolon = 0x80000000L; public static final long IndirectStaticAccess = 0x100000000L; public static final long UndocumentedEmptyBlock = 0x200000000L; public static final long UnnecessaryTypeCheck = 0x400000000L; public static final long InvalidJavadoc = 0x800000000L; public static final long FinallyBlockNotCompleting = 0x1000000000L; public static final long UnusedDeclaredThrownException = 0x2000000000L; public static final long UnqualifiedFieldAccess = 0x4000000000L; public static final long MissingJavadocTags = 0x8000000000L; public static final long MissingJavadocComments = 0x10000000000L; public static final long PHPVarDeprecatedWarning = 0x20000000000L; public static final long PHPBadStyleKeywordWarning = 0x40000000000L; public static final long PHPBadStyleUppercaseIdentifierWarning = 0x80000000000L; public static final long PHPIncludeNotExistWarning = 0x100000000000L; public static final long UninitializedLocalVariableWarning = 0x200000000000L; public static final long CodeCannotBeReachedWarning = 0x400000000000L; // Default severity level for handlers public long errorThreshold = 0; public long warningThreshold = MethodWithConstructorName | UsingDeprecatedAPI | MaskedCatchBlock | OverriddenPackageDefaultMethod | UnusedImport | NonStaticAccessToStatic | NoEffectAssignment | IncompatibleNonInheritedInterfaceMethod | NoImplicitStringConversion | FinallyBlockNotCompleting | AssertUsedAsAnIdentifier | PHPVarDeprecatedWarning | PHPBadStyleKeywordWarning | PHPBadStyleUppercaseIdentifierWarning | PHPIncludeNotExistWarning | UninitializedLocalVariableWarning | CodeCannotBeReachedWarning;; // Debug attributes public static final int Source = 1; // SourceFileAttribute public static final int Lines = 2; // LineNumberAttribute public static final int Vars = 4; // LocalVariableTableAttribute // By default only lines and source attributes are generated. public int produceDebugAttributes = Lines | Source; // public long complianceLevel = JDK1_4; // by default be compliant with 1.4 // public long sourceLevel = JDK1_3; //1.3 source behavior by default // public long targetJDK = JDK1_2; // default generates for JVM1.2 // toggle private access emulation for 1.2 (constr. accessor has extra arg // on constructor) or 1.3 (make private constructor default access when // access needed) public boolean isPrivateConstructorAccessChangingVisibility = false; // by // default, // follows // 1.2 // source encoding format public String defaultEncoding = null; // will use the platform default // encoding // print what unit is being processed public boolean verbose = Compiler.DEBUG; // indicates if reference info is desired public boolean produceReferenceInfo = false; // indicates if unused/optimizable local variables need to be preserved // (debugging purpose) public boolean preserveAllLocalVariables = false; // indicates whether literal expressions are inlined at parse-time or not public boolean parseLiteralExpressionsAsConstants = true; // max problems per compilation unit public int maxProblemsPerUnit = 100; // no more than 100 problems per // default // tags used to recognize tasks in comments public char[][] taskTags = null; // priorities of tasks in comments public char[][] taskPriorites = null; // deprecation report public boolean reportDeprecationInsideDeprecatedCode = false; public boolean reportDeprecationWhenOverridingDeprecatedMethod = false; // unused parameters report public boolean reportUnusedParameterWhenImplementingAbstract = false; public boolean reportUnusedParameterWhenOverridingConcrete = false; // unused declaration of thrown exception public boolean reportUnusedDeclaredThrownExceptionWhenOverriding = false; // constructor/setter parameter hiding public boolean reportSpecialParameterHidingField = false; // check javadoc comments public int reportInvalidJavadocTagsVisibility = AccPrivate; public boolean reportInvalidJavadocTags = true; // check missing javadoc tags public int reportMissingJavadocTagsVisibility = AccPrivate; public boolean reportMissingJavadocTagsOverriding = true; // check missing javadoc comments public int reportMissingJavadocCommentsVisibility = AccPublic; public boolean reportMissingJavadocCommentsOverriding = true; // javadoc comment support public boolean docCommentSupport = false; /** * Initializing the compiler options with defaults */ public CompilerOptions() { // use default options } /** * Initializing the compiler options with external settings * * @param settings */ public CompilerOptions(Map settings) { if (settings == null) return; set(settings); } // public Map getMap() { // Map optionsMap = new HashMap(30); // optionsMap.put(OPTION_PHPIncludeNotExistWarning, // getSeverityString(PHPIncludeNotExistWarning)); // optionsMap.put(OPTION_PHPVarDeprecatedWarning, // getSeverityString(PHPVarDeprecatedWarning)); // optionsMap.put(OPTION_PHPBadStyleKeywordWarning, // getSeverityString(PHPBadStyleKeywordWarning)); // optionsMap.put(OPTION_PHPBadStyleUppercaseIdentifierWarning, // getSeverityString(PHPBadStyleUppercaseIdentifierWarning)); // optionsMap.put(OPTION_UninitializedLocalVariableWarning, // getSeverityString(UninitializedLocalVariableWarning)); // optionsMap.put(OPTION_CodeCannotBeReachedWarning, // getSeverityString(CodeCannotBeReachedWarning)); // // optionsMap.put(OPTION_LocalVariableAttribute, // (this.produceDebugAttributes & Vars) != 0 ? GENERATE // : DO_NOT_GENERATE); // optionsMap.put(OPTION_LineNumberAttribute, // (this.produceDebugAttributes & Lines) != 0 ? GENERATE // : DO_NOT_GENERATE); // optionsMap.put(OPTION_SourceFileAttribute, // (this.produceDebugAttributes & Source) != 0 ? GENERATE // : DO_NOT_GENERATE); // // optionsMap.put(OPTION_PreserveUnusedLocal, // // this.preserveAllLocalVariables ? PRESERVE : OPTIMIZE_OUT); // optionsMap.put(OPTION_DocCommentSupport, // this.docCommentSupport ? ENABLED : DISABLED); // optionsMap.put(OPTION_ReportMethodWithConstructorName, // getSeverityString(MethodWithConstructorName)); // optionsMap.put(OPTION_ReportOverridingPackageDefaultMethod, // getSeverityString(OverriddenPackageDefaultMethod)); // optionsMap.put(OPTION_ReportDeprecation, // getSeverityString(UsingDeprecatedAPI)); // optionsMap // .put(OPTION_ReportDeprecationInDeprecatedCode, // this.reportDeprecationInsideDeprecatedCode ? ENABLED // : DISABLED); // optionsMap.put(OPTION_ReportDeprecationWhenOverridingDeprecatedMethod, // this.reportDeprecationWhenOverridingDeprecatedMethod ? ENABLED // : DISABLED); // optionsMap.put(OPTION_ReportHiddenCatchBlock, // getSeverityString(MaskedCatchBlock)); // optionsMap.put(OPTION_ReportUnusedLocal, // getSeverityString(UnusedLocalVariable)); // optionsMap.put(OPTION_ReportUnusedParameter, // getSeverityString(UnusedArgument)); // optionsMap.put(OPTION_ReportUnusedImport, // getSeverityString(UnusedImport)); // optionsMap.put(OPTION_ReportSyntheticAccessEmulation, // getSeverityString(AccessEmulation)); // optionsMap.put(OPTION_ReportNoEffectAssignment, // getSeverityString(NoEffectAssignment)); // optionsMap.put(OPTION_ReportNonExternalizedStringLiteral, // getSeverityString(NonExternalizedString)); // optionsMap.put(OPTION_ReportNoImplicitStringConversion, // getSeverityString(NoImplicitStringConversion)); // optionsMap.put(OPTION_ReportNonStaticAccessToStatic, // getSeverityString(NonStaticAccessToStatic)); // optionsMap.put(OPTION_ReportIndirectStaticAccess, // getSeverityString(IndirectStaticAccess)); // optionsMap.put(OPTION_ReportIncompatibleNonInheritedInterfaceMethod, // getSeverityString(IncompatibleNonInheritedInterfaceMethod)); // optionsMap.put(OPTION_ReportUnusedPrivateMember, // getSeverityString(UnusedPrivateMember)); // optionsMap.put(OPTION_ReportLocalVariableHiding, // getSeverityString(LocalVariableHiding)); // optionsMap // .put(OPTION_ReportFieldHiding, getSeverityString(FieldHiding)); // optionsMap.put(OPTION_ReportPossibleAccidentalBooleanAssignment, // getSeverityString(AccidentalBooleanAssign)); // optionsMap.put(OPTION_ReportSuperfluousSemicolon, // getSeverityString(SuperfluousSemicolon)); // optionsMap.put(OPTION_ReportAssertIdentifier, // getSeverityString(AssertUsedAsAnIdentifier)); // optionsMap.put(OPTION_ReportUndocumentedEmptyBlock, // getSeverityString(UndocumentedEmptyBlock)); // optionsMap.put(OPTION_ReportUnnecessaryTypeCheck, // getSeverityString(UnnecessaryTypeCheck)); // optionsMap.put(OPTION_ReportInvalidJavadoc, // getSeverityString(InvalidJavadoc)); // optionsMap.put(OPTION_ReportInvalidJavadocTagsVisibility, // getVisibilityString(this.reportInvalidJavadocTagsVisibility)); // optionsMap.put(OPTION_ReportInvalidJavadocTags, // this.reportInvalidJavadocTags ? ENABLED : DISABLED); // optionsMap.put(OPTION_ReportMissingJavadocTags, // getSeverityString(MissingJavadocTags)); // optionsMap.put(OPTION_ReportMissingJavadocTagsVisibility, // getVisibilityString(this.reportMissingJavadocTagsVisibility)); // optionsMap.put(OPTION_ReportMissingJavadocTagsOverriding, // this.reportMissingJavadocTagsOverriding ? ENABLED : DISABLED); // optionsMap.put(OPTION_ReportMissingJavadocComments, // getSeverityString(MissingJavadocComments)); // optionsMap // .put( // OPTION_ReportMissingJavadocCommentsVisibility, // getVisibilityString(this.reportMissingJavadocCommentsVisibility)); // optionsMap.put(OPTION_ReportMissingJavadocCommentsOverriding, // this.reportMissingJavadocCommentsOverriding ? ENABLED // : DISABLED); // optionsMap.put(OPTION_ReportFinallyBlockNotCompletingNormally, // getSeverityString(FinallyBlockNotCompleting)); // optionsMap.put(OPTION_ReportUnusedDeclaredThrownException, // getSeverityString(UnusedDeclaredThrownException)); // optionsMap // .put( // OPTION_ReportUnusedDeclaredThrownExceptionWhenOverriding, // this.reportUnusedDeclaredThrownExceptionWhenOverriding ? ENABLED // : DISABLED); // optionsMap.put(OPTION_ReportUnqualifiedFieldAccess, // getSeverityString(UnqualifiedFieldAccess)); // // optionsMap.put(OPTION_Compliance, // // versionFromJdkLevel(this.complianceLevel)); // // optionsMap.put(OPTION_Source, versionFromJdkLevel(this.sourceLevel)); // // optionsMap.put(OPTION_TargetPlatform, // // versionFromJdkLevel(this.targetJDK)); // if (this.defaultEncoding != null) { // optionsMap.put(OPTION_Encoding, this.defaultEncoding); // } // optionsMap // .put( // OPTION_TaskTags, // this.taskTags == null ? "" : new String(CharOperation.concatWith(this.taskTags, ','))); //$NON-NLS-1$ // optionsMap // .put( // OPTION_TaskPriorities, // this.taskPriorites == null ? "" : new String(CharOperation.concatWith(this.taskPriorites, ','))); //$NON-NLS-1$ // optionsMap.put(OPTION_ReportUnusedParameterWhenImplementingAbstract, // this.reportUnusedParameterWhenImplementingAbstract ? ENABLED // : DISABLED); // optionsMap.put(OPTION_ReportUnusedParameterWhenOverridingConcrete, // this.reportUnusedParameterWhenOverridingConcrete ? ENABLED // : DISABLED); // optionsMap.put(OPTION_ReportSpecialParameterHidingField, // this.reportSpecialParameterHidingField ? ENABLED : DISABLED); // optionsMap.put(OPTION_MaxProblemPerUnit, String // .valueOf(this.maxProblemsPerUnit)); // // return optionsMap; // } public int getSeverity(long irritant) { if ((this.warningThreshold & irritant) != 0) return Warning; if ((this.errorThreshold & irritant) != 0) return Error; return Ignore; } public String getSeverityString(long irritant) { if ((this.warningThreshold & irritant) != 0) return WARNING; if ((this.errorThreshold & irritant) != 0) return ERROR; return IGNORE; } public String getVisibilityString(int level) { switch (level) { case AccPublic: return PUBLIC; case AccProtected: return PROTECTED; case AccPrivate: return PRIVATE; default: return DEFAULT; } } public void set(Map optionsMap) { Object optionValue; if ((optionValue = optionsMap.get(OPTION_LocalVariableAttribute)) != null) { if (GENERATE.equals(optionValue)) { this.produceDebugAttributes |= Vars; } else if (DO_NOT_GENERATE.equals(optionValue)) { this.produceDebugAttributes &= ~Vars; } } if ((optionValue = optionsMap.get(OPTION_LineNumberAttribute)) != null) { if (GENERATE.equals(optionValue)) { this.produceDebugAttributes |= Lines; } else if (DO_NOT_GENERATE.equals(optionValue)) { this.produceDebugAttributes &= ~Lines; } } if ((optionValue = optionsMap.get(OPTION_SourceFileAttribute)) != null) { if (GENERATE.equals(optionValue)) { this.produceDebugAttributes |= Source; } else if (DO_NOT_GENERATE.equals(optionValue)) { this.produceDebugAttributes &= ~Source; } } // if ((optionValue = optionsMap.get(OPTION_PreserveUnusedLocal)) != // null) { // if (PRESERVE.equals(optionValue)) { // this.preserveAllLocalVariables = true; // } else if (OPTIMIZE_OUT.equals(optionValue)) { // this.preserveAllLocalVariables = false; // } // } if ((optionValue = optionsMap .get(OPTION_ReportDeprecationInDeprecatedCode)) != null) { if (ENABLED.equals(optionValue)) { this.reportDeprecationInsideDeprecatedCode = true; } else if (DISABLED.equals(optionValue)) { this.reportDeprecationInsideDeprecatedCode = false; } } if ((optionValue = optionsMap .get(OPTION_ReportDeprecationWhenOverridingDeprecatedMethod)) != null) { if (ENABLED.equals(optionValue)) { this.reportDeprecationWhenOverridingDeprecatedMethod = true; } else if (DISABLED.equals(optionValue)) { this.reportDeprecationWhenOverridingDeprecatedMethod = false; } } if ((optionValue = optionsMap .get(OPTION_ReportUnusedDeclaredThrownExceptionWhenOverriding)) != null) { if (ENABLED.equals(optionValue)) { this.reportUnusedDeclaredThrownExceptionWhenOverriding = true; } else if (DISABLED.equals(optionValue)) { this.reportUnusedDeclaredThrownExceptionWhenOverriding = false; } } // if ((optionValue = optionsMap.get(OPTION_Compliance)) != null) { // long level = versionToJdkLevel(optionValue); // if (level != 0) this.complianceLevel = level; // } // if ((optionValue = optionsMap.get(OPTION_Source)) != null) { // long level = versionToJdkLevel(optionValue); // if (level != 0) this.sourceLevel = level; // } // if ((optionValue = optionsMap.get(OPTION_TargetPlatform)) != null) { // long level = versionToJdkLevel(optionValue); // if (level != 0) this.targetJDK = level; // } if ((optionValue = optionsMap.get(OPTION_Encoding)) != null) { if (optionValue instanceof String) { this.defaultEncoding = null; String stringValue = (String) optionValue; if (stringValue.length() > 0) { try { new InputStreamReader(new ByteArrayInputStream( new byte[0]), stringValue); this.defaultEncoding = stringValue; } catch (UnsupportedEncodingException e) { // ignore unsupported encoding } } } } // if ((optionValue = optionsMap.get(OPTION_PrivateConstructorAccess)) // != null) { // long level = versionToJdkLevel(optionValue); // if (level >= JDK1_3) // this.isPrivateConstructorAccessChangingVisibility = true; // } if ((optionValue = optionsMap .get(OPTION_ReportUnusedParameterWhenImplementingAbstract)) != null) { if (ENABLED.equals(optionValue)) { this.reportUnusedParameterWhenImplementingAbstract = true; } else if (DISABLED.equals(optionValue)) { this.reportUnusedParameterWhenImplementingAbstract = false; } } if ((optionValue = optionsMap .get(OPTION_ReportUnusedParameterWhenOverridingConcrete)) != null) { if (ENABLED.equals(optionValue)) { this.reportUnusedParameterWhenOverridingConcrete = true; } else if (DISABLED.equals(optionValue)) { this.reportUnusedParameterWhenOverridingConcrete = false; } } if ((optionValue = optionsMap .get(OPTION_ReportSpecialParameterHidingField)) != null) { if (ENABLED.equals(optionValue)) { this.reportSpecialParameterHidingField = true; } else if (DISABLED.equals(optionValue)) { this.reportSpecialParameterHidingField = false; } } if ((optionValue = optionsMap.get(OPTION_MaxProblemPerUnit)) != null) { if (optionValue instanceof String) { String stringValue = (String) optionValue; try { int val = Integer.parseInt(stringValue); if (val >= 0) this.maxProblemsPerUnit = val; } catch (NumberFormatException e) { // ignore ill-formatted limit } } } if ((optionValue = optionsMap.get(OPTION_TaskTags)) != null) { if (optionValue instanceof String) { String stringValue = (String) optionValue; if (stringValue.length() == 0) { this.taskTags = null; } else { this.taskTags = CharOperation.splitAndTrimOn(',', stringValue.toCharArray()); } } } if ((optionValue = optionsMap.get(OPTION_TaskPriorities)) != null) { if (optionValue instanceof String) { String stringValue = (String) optionValue; if (stringValue.length() == 0) { this.taskPriorites = null; } else { this.taskPriorites = CharOperation.splitAndTrimOn(',', stringValue.toCharArray()); } } } if ((optionValue = optionsMap.get(OPTION_PHPVarDeprecatedWarning)) != null) updateSeverity(PHPVarDeprecatedWarning, optionValue); if ((optionValue = optionsMap.get(OPTION_PHPBadStyleKeywordWarning)) != null) updateSeverity(PHPBadStyleKeywordWarning, optionValue); if ((optionValue = optionsMap .get(OPTION_PHPBadStyleUppercaseIdentifierWarning)) != null) updateSeverity(PHPBadStyleUppercaseIdentifierWarning, optionValue); if ((optionValue = optionsMap.get(OPTION_PHPIncludeNotExistWarning)) != null) updateSeverity(PHPIncludeNotExistWarning, optionValue); if ((optionValue = optionsMap .get(OPTION_UninitializedLocalVariableWarning)) != null) updateSeverity(UninitializedLocalVariableWarning, optionValue); if ((optionValue = optionsMap.get(OPTION_CodeCannotBeReachedWarning)) != null) updateSeverity(CodeCannotBeReachedWarning, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportMethodWithConstructorName)) != null) updateSeverity(MethodWithConstructorName, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportOverridingPackageDefaultMethod)) != null) updateSeverity(OverriddenPackageDefaultMethod, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportDeprecation)) != null) updateSeverity(UsingDeprecatedAPI, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportHiddenCatchBlock)) != null) updateSeverity(MaskedCatchBlock, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportUnusedLocal)) != null) updateSeverity(UnusedLocalVariable, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportUnusedParameter)) != null) updateSeverity(UnusedArgument, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportUnusedImport)) != null) updateSeverity(UnusedImport, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportUnusedPrivateMember)) != null) updateSeverity(UnusedPrivateMember, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportUnusedDeclaredThrownException)) != null) updateSeverity(UnusedDeclaredThrownException, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportNoImplicitStringConversion)) != null) updateSeverity(NoImplicitStringConversion, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportSyntheticAccessEmulation)) != null) updateSeverity(AccessEmulation, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportLocalVariableHiding)) != null) updateSeverity(LocalVariableHiding, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportFieldHiding)) != null) updateSeverity(FieldHiding, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportPossibleAccidentalBooleanAssignment)) != null) updateSeverity(AccidentalBooleanAssign, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportSuperfluousSemicolon)) != null) updateSeverity(SuperfluousSemicolon, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportNonExternalizedStringLiteral)) != null) updateSeverity(NonExternalizedString, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportAssertIdentifier)) != null) updateSeverity(AssertUsedAsAnIdentifier, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportNonStaticAccessToStatic)) != null) updateSeverity(NonStaticAccessToStatic, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportIndirectStaticAccess)) != null) updateSeverity(IndirectStaticAccess, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportIncompatibleNonInheritedInterfaceMethod)) != null) updateSeverity(IncompatibleNonInheritedInterfaceMethod, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportUndocumentedEmptyBlock)) != null) updateSeverity(UndocumentedEmptyBlock, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportUnnecessaryTypeCheck)) != null) updateSeverity(UnnecessaryTypeCheck, optionValue); if ((optionValue = optionsMap .get(OPTION_ReportFinallyBlockNotCompletingNormally)) != null) updateSeverity(FinallyBlockNotCompleting, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportUnqualifiedFieldAccess)) != null) updateSeverity(UnqualifiedFieldAccess, optionValue); if ((optionValue = optionsMap.get(OPTION_ReportNoEffectAssignment)) != null) updateSeverity(NoEffectAssignment, optionValue); // Javadoc options // Javadoc options if ((optionValue = optionsMap.get(OPTION_DocCommentSupport)) != null) { if (ENABLED.equals(optionValue)) { this.docCommentSupport = true; } else if (DISABLED.equals(optionValue)) { this.docCommentSupport = false; } } if ((optionValue = optionsMap.get(OPTION_ReportInvalidJavadoc)) != null) { updateSeverity(InvalidJavadoc, optionValue); } if ((optionValue = optionsMap .get(OPTION_ReportInvalidJavadocTagsVisibility)) != null) { if (PUBLIC.equals(optionValue)) { this.reportInvalidJavadocTagsVisibility = AccPublic; } else if (PROTECTED.equals(optionValue)) { this.reportInvalidJavadocTagsVisibility = AccProtected; // } else if (DEFAULT.equals(optionValue)) { // this.reportInvalidJavadocTagsVisibility = AccDefault; } else if (PRIVATE.equals(optionValue)) { this.reportInvalidJavadocTagsVisibility = AccPrivate; } } if ((optionValue = optionsMap.get(OPTION_ReportInvalidJavadocTags)) != null) { if (ENABLED.equals(optionValue)) { this.reportInvalidJavadocTags = true; } else if (DISABLED.equals(optionValue)) { this.reportInvalidJavadocTags = false; } } if ((optionValue = optionsMap.get(OPTION_ReportMissingJavadocTags)) != null) { updateSeverity(MissingJavadocTags, optionValue); } if ((optionValue = optionsMap .get(OPTION_ReportMissingJavadocTagsVisibility)) != null) { if (PUBLIC.equals(optionValue)) { this.reportMissingJavadocTagsVisibility = AccPublic; } else if (PROTECTED.equals(optionValue)) { this.reportMissingJavadocTagsVisibility = AccProtected; // } else if (DEFAULT.equals(optionValue)) { // this.reportMissingJavadocTagsVisibility = AccDefault; } else if (PRIVATE.equals(optionValue)) { this.reportMissingJavadocTagsVisibility = AccPrivate; } } if ((optionValue = optionsMap .get(OPTION_ReportMissingJavadocTagsOverriding)) != null) { if (ENABLED.equals(optionValue)) { this.reportMissingJavadocTagsOverriding = true; } else if (DISABLED.equals(optionValue)) { this.reportMissingJavadocTagsOverriding = false; } } if ((optionValue = optionsMap.get(OPTION_ReportMissingJavadocComments)) != null) { updateSeverity(MissingJavadocComments, optionValue); } if ((optionValue = optionsMap .get(OPTION_ReportMissingJavadocCommentsVisibility)) != null) { if (PUBLIC.equals(optionValue)) { this.reportMissingJavadocCommentsVisibility = AccPublic; } else if (PROTECTED.equals(optionValue)) { this.reportMissingJavadocCommentsVisibility = AccProtected; // } else if (DEFAULT.equals(optionValue)) { // this.reportMissingJavadocCommentsVisibility = AccDefault; } else if (PRIVATE.equals(optionValue)) { this.reportMissingJavadocCommentsVisibility = AccPrivate; } } if ((optionValue = optionsMap .get(OPTION_ReportMissingJavadocCommentsOverriding)) != null) { if (ENABLED.equals(optionValue)) { this.reportMissingJavadocCommentsOverriding = true; } else if (DISABLED.equals(optionValue)) { this.reportMissingJavadocCommentsOverriding = false; } } } // public void setVerboseMode(boolean flag) { // this.verbose = flag; // } public String toString() { StringBuffer buf = new StringBuffer("CompilerOptions:"); //$NON-NLS-1$ buf .append("\n\t- var is deprecated keyword: ").append(getSeverityString(PHPVarDeprecatedWarning)); //$NON-NLS-1$ buf .append("\n\t- don't use keywords as identifiers: ").append(getSeverityString(PHPBadStyleKeywordWarning)); //$NON-NLS-1$ buf .append( "\n\t- non-variable idenifiers should contain only uppercase characters: ").append(getSeverityString(PHPBadStyleUppercaseIdentifierWarning)); //$NON-NLS-1$ buf .append("\n\t- include filename doesn't exist in project: ").append(getSeverityString(PHPIncludeNotExistWarning)); //$NON-NLS-1$ buf .append("\n\t- local variable not initialized: ").append(getSeverityString(UninitializedLocalVariableWarning)); //$NON-NLS-1$ buf .append("\n\t- unreachable code: ").append(getSeverityString(CodeCannotBeReachedWarning)); //$NON-NLS-1$ buf .append("\n\t- local variables debug attributes: ").append((this.produceDebugAttributes & Vars) != 0 ? "ON" : " OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append("\n\t- line number debug attributes: ").append((this.produceDebugAttributes & Lines) != 0 ? "ON" : " OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append("\n\t- source debug attributes: ").append((this.produceDebugAttributes & Source) != 0 ? "ON" : " OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append("\n\t- preserve all local variables: ").append(this.preserveAllLocalVariables ? "ON" : " OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append("\n\t- method with constructor name: ").append(getSeverityString(MethodWithConstructorName)); //$NON-NLS-1$ buf .append("\n\t- overridden package default method: ").append(getSeverityString(OverriddenPackageDefaultMethod)); //$NON-NLS-1$ buf .append("\n\t- deprecation: ").append(getSeverityString(UsingDeprecatedAPI)); //$NON-NLS-1$ buf .append("\n\t- masked catch block: ").append(getSeverityString(MaskedCatchBlock)); //$NON-NLS-1$ buf .append("\n\t- unused local variable: ").append(getSeverityString(UnusedLocalVariable)); //$NON-NLS-1$ buf .append("\n\t- unused parameter: ").append(getSeverityString(UnusedArgument)); //$NON-NLS-1$ buf .append("\n\t- unused import: ").append(getSeverityString(UnusedImport)); //$NON-NLS-1$ buf .append("\n\t- synthetic access emulation: ").append(getSeverityString(AccessEmulation)); //$NON-NLS-1$ buf .append("\n\t- assignment with no effect: ").append(getSeverityString(NoEffectAssignment)); //$NON-NLS-1$ buf .append("\n\t- non externalized string: ").append(getSeverityString(NonExternalizedString)); //$NON-NLS-1$ buf .append("\n\t- static access receiver: ").append(getSeverityString(NonStaticAccessToStatic)); //$NON-NLS-1$ buf .append("\n\t- indirect static access: ").append(getSeverityString(IndirectStaticAccess)); //$NON-NLS-1$ buf .append("\n\t- incompatible non inherited interface method: ").append(getSeverityString(IncompatibleNonInheritedInterfaceMethod)); //$NON-NLS-1$ buf .append("\n\t- unused private member: ").append(getSeverityString(UnusedPrivateMember)); //$NON-NLS-1$ buf .append("\n\t- local variable hiding another variable: ").append(getSeverityString(LocalVariableHiding)); //$NON-NLS-1$ buf .append("\n\t- field hiding another variable: ").append(getSeverityString(FieldHiding)); //$NON-NLS-1$ buf .append("\n\t- possible accidental boolean assignment: ").append(getSeverityString(AccidentalBooleanAssign)); //$NON-NLS-1$ buf .append("\n\t- superfluous semicolon: ").append(getSeverityString(SuperfluousSemicolon)); //$NON-NLS-1$ buf .append("\n\t- uncommented empty block: ").append(getSeverityString(UndocumentedEmptyBlock)); //$NON-NLS-1$ buf .append("\n\t- unnecessary type check: ").append(getSeverityString(UnnecessaryTypeCheck)); //$NON-NLS-1$ buf .append("\n\t- invalid javadoc: ").append(getSeverityString(InvalidJavadoc)); //$NON-NLS-1$ buf .append("\n\t- report invalid javadoc tags: ").append(this.reportInvalidJavadocTags ? ENABLED : DISABLED); //$NON-NLS-1$ buf .append( "\n\t- visibility level to report invalid javadoc tags: ").append(getVisibilityString(this.reportInvalidJavadocTagsVisibility)); //$NON-NLS-1$ buf .append("\n\t- missing javadoc tags: ").append(getSeverityString(MissingJavadocTags)); //$NON-NLS-1$ buf .append( "\n\t- visibility level to report missing javadoc tags: ").append(getVisibilityString(this.reportMissingJavadocTagsVisibility)); //$NON-NLS-1$ buf .append( "\n\t- report missing javadoc tags in overriding methods: ").append(this.reportMissingJavadocTagsOverriding ? ENABLED : DISABLED); //$NON-NLS-1$ buf .append("\n\t- missing javadoc comments: ").append(getSeverityString(MissingJavadocComments)); //$NON-NLS-1$ buf .append( "\n\t- visibility level to report missing javadoc comments: ").append(getVisibilityString(this.reportMissingJavadocCommentsVisibility)); //$NON-NLS-1$ buf .append( "\n\t- report missing javadoc comments in overriding methods: ").append(this.reportMissingJavadocCommentsOverriding ? ENABLED : DISABLED); //$NON-NLS-1$ buf .append("\n\t- finally block not completing normally: ").append(getSeverityString(FinallyBlockNotCompleting)); //$NON-NLS-1$ buf .append("\n\t- unused declared thrown exception: ").append(getSeverityString(UnusedDeclaredThrownException)); //$NON-NLS-1$ buf .append( "\n\t- unused declared thrown exception when overriding ").append(this.reportUnusedDeclaredThrownExceptionWhenOverriding ? ENABLED : DISABLED); //$NON-NLS-1$ // buf.append("\n\t- JDK compliance level: "+ // versionFromJdkLevel(this.complianceLevel)); //$NON-NLS-1$ // buf.append("\n\t- JDK source level: "+ // versionFromJdkLevel(this.sourceLevel)); //$NON-NLS-1$ // buf.append("\n\t- JDK target level: "+ // versionFromJdkLevel(this.targetJDK)); //$NON-NLS-1$ buf .append("\n\t- private constructor access: ").append(this.isPrivateConstructorAccessChangingVisibility ? "extra argument" : "make default access"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf.append("\n\t- verbose : ").append(this.verbose ? "ON" : "OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append("\n\t- produce reference info : ").append(this.produceReferenceInfo ? "ON" : "OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append("\n\t- parse literal expressions as constants : ").append(this.parseLiteralExpressionsAsConstants ? "ON" : "OFF"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append("\n\t- encoding : ").append(this.defaultEncoding == null ? "" : this.defaultEncoding); //$NON-NLS-1$ //$NON-NLS-2$ buf .append("\n\t- task tags: ").append(this.taskTags == null ? "" : new String(CharOperation.concatWith(this.taskTags, ','))); //$NON-NLS-1$ //$NON-NLS-2$ buf .append("\n\t- task priorities : ").append(this.taskPriorites == null ? "" : new String(CharOperation.concatWith(this.taskPriorites, ','))); //$NON-NLS-1$ //$NON-NLS-2$ buf .append("\n\t- report deprecation inside deprecated code : ").append(this.reportDeprecationInsideDeprecatedCode ? "ENABLED" : "DISABLED"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append( "\n\t- report deprecation when overriding deprecated method : ").append(this.reportDeprecationWhenOverridingDeprecatedMethod ? "ENABLED" : "DISABLED"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append( "\n\t- report unused parameter when implementing abstract method : ").append(this.reportUnusedParameterWhenImplementingAbstract ? "ENABLED" : "DISABLED"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append( "\n\t- report unused parameter when overriding concrete method : ").append(this.reportUnusedParameterWhenOverridingConcrete ? "ENABLED" : "DISABLED"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ buf .append( "\n\t- report constructor/setter parameter hiding existing field : ").append(this.reportSpecialParameterHidingField ? "ENABLED" : "DISABLED"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ return buf.toString(); } void updateSeverity(long irritant, Object severityString) { if (ERROR.equals(severityString)) { this.errorThreshold |= irritant; this.warningThreshold &= ~irritant; } else if (WARNING.equals(severityString)) { this.errorThreshold &= ~irritant; this.warningThreshold |= irritant; } else if (IGNORE.equals(severityString)) { this.errorThreshold &= ~irritant; this.warningThreshold &= ~irritant; } } // public static long versionToJdkLevel(Object versionID) { // if (VERSION_1_1.equals(versionID)) { // return JDK1_1; // } else if (VERSION_1_2.equals(versionID)) { // return JDK1_2; // } else if (VERSION_1_3.equals(versionID)) { // return JDK1_3; // } else if (VERSION_1_4.equals(versionID)) { // return JDK1_4; // } else if (VERSION_1_5.equals(versionID)) { // return JDK1_5; // } // return 0; // unknown // } // public static String versionFromJdkLevel(long jdkLevel) { // if (jdkLevel == JDK1_1) { // return VERSION_1_1; // } else if (jdkLevel == JDK1_2) { // return VERSION_1_2; // } else if (jdkLevel == JDK1_3) { // return VERSION_1_3; // } else if (jdkLevel == JDK1_4) { // return VERSION_1_4; // } else if (jdkLevel == JDK1_5) { // return VERSION_1_5; // } // return ""; // unknown version //$NON-NLS-1$ // } }