commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Bourg (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BCEL-183) Implement Java 7 field/method name validation rules
Date Wed, 17 Dec 2014 14:01:14 GMT

    [ https://issues.apache.org/jira/browse/BCEL-183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14249863#comment-14249863
] 

Emmanuel Bourg commented on BCEL-183:
-------------------------------------

I'm still reviewing the changes, why was the removal of this chunk necessary?

{code}
// Class and interface initialization methods...
if (name.equals(STATIC_INITIALIZER_NAME)){
    if ((obj.getAccessFlags() & (~ACC_STRICT)) > 0){
        addMessage("Class or interface initialization method '"+tostring(obj)+"' has superfluous
access modifier(s) set: everything but ACC_STRICT is ignored.");
    }
    if (obj.isAbstract()){
        throw new ClassConstraintException("Class or interface initialization method '"+tostring(obj)+"'
must not be abstract. This contradicts the Java Language Specification, Second Edition (which
omits this constraint) but is common practice of existing verifiers.");
    }
}
{code}

The block above related to the constructor was moved in the {{if (jc.isClass())}} block which
seems more correct, but I don't understand why this one was removed.

> Implement Java 7 field/method name validation rules
> ---------------------------------------------------
>
>                 Key: BCEL-183
>                 URL: https://issues.apache.org/jira/browse/BCEL-183
>             Project: Commons BCEL
>          Issue Type: Improvement
>          Components: Verifier
>    Affects Versions: 5.2
>            Reporter: Jérôme Leroux
>             Fix For: 6.0
>
>         Attachments: BCEL-183-2.patch, BCEL-183-2.zip, BCEL-183-src.zip, BCEL-183.patch,
BCEL-183.zip
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> The JustIce bytecode verifier checks the validity of the field name and the variable
name considering the java langage specification. 
> This check is not specified by the bytecode verifier specification.
> This may lead to bytecode verification errors in pass2 on valid classfiles.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message