Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 111838 Details for
Bug 245257
[compiler] Allow to suppress fall-through warning
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Patch suggestion
245257.txt (text/plain), 8.42 KB, created by
Philipe Mulet
on 2008-09-05 12:33:51 EDT
(
hide
)
Description:
Patch suggestion
Filename:
MIME Type:
Creator:
Philipe Mulet
Created:
2008-09-05 12:33:51 EDT
Size:
8.42 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core >Index: compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java,v >retrieving revision 1.94 >diff -u -r1.94 ASTNode.java >--- compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java 27 Jun 2008 16:03:55 -0000 1.94 >+++ compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java 5 Sep 2008 16:32:25 -0000 >@@ -27,34 +27,34 @@ > public final static int Bit2 = 0x2; // return type (operator) | name reference kind (name ref) | has local type (type, method, field decl) > public final static int Bit3 = 0x4; // return type (operator) | name reference kind (name ref) | implicit this (this ref) > public final static int Bit4 = 0x8; // return type (operator) | first assignment to local (name ref,local decl) | undocumented empty block (block, type and method decl) >- public final static int Bit5 = 0x10; // value for return (expression) | has all method bodies (unit) | supertype ref (type ref) | resolved (field decl) >- public final static int Bit6 = 0x20; // depth (name ref, msg) | ignore need cast check (cast expression) | error in signature (method declaration/ initializer) | is recovered (annotation reference) >- public final static int Bit7 = 0x40; // depth (name ref, msg) | operator (operator) | need runtime checkcast (cast expression) | label used (labelStatement) | needFreeReturn (AbstractMethodDeclaration) >- public final static int Bit8 = 0x80; // depth (name ref, msg) | operator (operator) | unsafe cast (cast expression) | is default constructor (constructor declaration) >+ public final static int Bit5 = 0x10; // value for return (expression) | has all method bodies (unit) | supertype ref (type ref) | resolved (field decl) >+ public final static int Bit6 = 0x20; // depth (name ref, msg) | ignore need cast check (cast expression) | error in signature (method declaration/ initializer) | is recovered (annotation reference) >+ public final static int Bit7 = 0x40; // depth (name ref, msg) | operator (operator) | need runtime checkcast (cast expression) | label used (labelStatement) | needFreeReturn (AbstractMethodDeclaration) >+ public final static int Bit8 = 0x80; // depth (name ref, msg) | operator (operator) | unsafe cast (cast expression) | is default constructor (constructor declaration) > public final static int Bit9 = 0x100; // depth (name ref, msg) | operator (operator) | is local type (type decl) > public final static int Bit10= 0x200; // depth (name ref, msg) | operator (operator) | is anonymous type (type decl) > public final static int Bit11 = 0x400; // depth (name ref, msg) | operator (operator) | is member type (type decl) > public final static int Bit12 = 0x800; // depth (name ref, msg) | operator (operator) | has abstract methods (type decl) >- public final static int Bit13 = 0x1000; // depth (name ref, msg) | is secondary type (type decl) >- public final static int Bit14 = 0x2000; // strictly assigned (reference lhs) | discard enclosing instance (explicit constr call) | hasBeenGenerated (type decl) >- public final static int Bit15 = 0x4000; // is unnecessary cast (expression) | is varargs (type ref) | isSubRoutineEscaping (try statement) | superAccess (javadoc allocation expression/javadoc message send/javadoc return statement) >- public final static int Bit16 = 0x8000; // in javadoc comment (name ref, type ref, msg) >+ public final static int Bit13 = 0x1000; // depth (name ref, msg) | is secondary type (type decl) >+ public final static int Bit14 = 0x2000; // strictly assigned (reference lhs) | discard enclosing instance (explicit constr call) | hasBeenGenerated (type decl) >+ public final static int Bit15 = 0x4000; // is unnecessary cast (expression) | is varargs (type ref) | isSubRoutineEscaping (try statement) | superAccess (javadoc allocation expression/javadoc message send/javadoc return statement) >+ public final static int Bit16 = 0x8000; // in javadoc comment (name ref, type ref, msg) > public final static int Bit17 = 0x10000; // compound assigned (reference lhs) > public final static int Bit18 = 0x20000; // non null (expression) | onDemand (import reference) > public final static int Bit19 = 0x40000; // didResolve (parameterized qualified type ref/parameterized single type ref) | empty (javadoc return statement) > public final static int Bit20 = 0x80000; > public final static int Bit21 = 0x100000; >- public final static int Bit22 = 0x200000; // parenthesis count (expression) | used (import reference) >- public final static int Bit23 = 0x400000; // parenthesis count (expression) >- public final static int Bit24 = 0x800000; // parenthesis count (expression) >- public final static int Bit25 = 0x1000000; // parenthesis count (expression) >- public final static int Bit26 = 0x2000000; // parenthesis count (expression) >- public final static int Bit27 = 0x4000000; // parenthesis count (expression) >- public final static int Bit28 = 0x8000000; // parenthesis count (expression) >- public final static int Bit29 = 0x10000000; // parenthesis count (expression) >- public final static int Bit30 = 0x20000000; // elseif (if statement) | try block exit (try statement) | fall-through (case statement) | ignore no effect assign (expression ref) | needScope (for statement) | isAnySubRoutineEscaping (return statement) | blockExit (synchronized statement) >- public final static int Bit31 = 0x40000000; // local declaration reachable (local decl) | ignore raw type check (type ref) | discard entire assignment (assignment) | isSynchronized (return statement) | thenExit (if statement) >- public final static int Bit32 = 0x80000000; // reachable (statement) >+ public final static int Bit22 = 0x200000; // parenthesis count (expression) | used (import reference) >+ public final static int Bit23 = 0x400000; // parenthesis count (expression) >+ public final static int Bit24 = 0x800000; // parenthesis count (expression) >+ public final static int Bit25 = 0x1000000; // parenthesis count (expression) >+ public final static int Bit26 = 0x2000000; // parenthesis count (expression) >+ public final static int Bit27 = 0x4000000; // parenthesis count (expression) >+ public final static int Bit28 = 0x8000000; // parenthesis count (expression) >+ public final static int Bit29 = 0x10000000; // parenthesis count (expression) >+ public final static int Bit30 = 0x20000000; // elseif (if statement) | try block exit (try statement) | fall-through (case statement) | ignore no effect assign (expression ref) | needScope (for statement) | isAnySubRoutineEscaping (return statement) | blockExit (synchronized statement) >+ public final static int Bit31 = 0x40000000; // local declaration reachable (local decl) | ignore raw type check (type ref) | discard entire assignment (assignment) | isSynchronized (return statement) | thenExit (if statement) >+ public final static int Bit32 = 0x80000000; // reachable (statement) > > public final static long Bit32L = 0x80000000L; > public final static long Bit33L = 0x100000000L; >Index: compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java,v >retrieving revision 1.391 >diff -u -r1.391 Parser.java >--- compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java 11 Aug 2008 16:53:24 -0000 1.391 >+++ compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java 5 Sep 2008 16:32:27 -0000 >@@ -1944,7 +1944,14 @@ > // SwitchLabel ::= 'case' ConstantExpression ':' > this.expressionLengthPtr--; > Expression expression = this.expressionStack[this.expressionPtr--]; >- pushOnAstStack(new CaseStatement(expression, expression.sourceEnd, this.intStack[this.intPtr--])); >+ CaseStatement caseStatement = new CaseStatement(expression, expression.sourceEnd, this.intStack[this.intPtr--]); >+ if (this.astLengthPtr >= 0 && this.astLengthStack[this.astLengthPtr] > 1) { >+ ASTNode lastNode = this.astStack[this.astPtr]; >+ if (containsComment(lastNode.sourceEnd, caseStatement.sourceStart)) { >+ caseStatement.bits |= ASTNode.DocumentedFallthrough; >+ } >+ } >+ pushOnAstStack(caseStatement); > } > protected void consumeCastExpressionLL1() { > //CastExpression ::= '(' Expression ')' InsideCastExpressionLL1 UnaryExpressionNotPlusMinus
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 245257
:
111838
|
111962
|
112048
|
112049
|
112057