classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Request for help + Re: java.lang.Class patches


From: Tom Tromey
Subject: Re: Request for help + Re: java.lang.Class patches
Date: 06 Apr 2003 15:10:38 -0600
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

>>>>> "Brian" == Brian Jones <address@hidden> writes:

Brian> I was looking into using Jalopy at one point but the 1.0 version I
Brian> think didn't do proper double indentation for curly's on if/while/for,
Brian> etc.  Suggestions for something that actually matches our "GNU" style
Brian> would be appreciated.

I tried Jalopy 1.0b10 today.  It is pretty close to being able to do
what we want.

I found 3 problems before I stopped playing with it:

* The indentation problem you mention

* It doesn't like javadoc like:

   * @author Aaron M. Renn (address@hidden)

  It complains about the unknown tag "@urbanophile" :-/

* It won't insert a blank line after the header comment unless
  header rewriting is turned on (which we don't want to do since we
  want to preserve copyright years).  And, there is no way to insert
  a blank line before `package'.

I'll write to the jalopy maintainers.  If we can get these things
fixed it might be ready to use.

In case anybody else wants to play, I appended my `GNU.xml' jalopy
config file.

Tom

<?xml version="1.0" encoding="UTF-8"?>
<jalopy>
    <general>
        <compliance>
            <version>14</version>
        </compliance>
        <style>
            <description>GNU Java Coding Convention</description>
            <name>GNU</name>
        </style>
    </general>
    <inspector>
        <enable>false</enable>
        <naming>
            <classes>
                <abstract>[A-Z][a-zA-Z0-9]+</abstract>
                <general>[A-Z][a-zA-Z0-9]+</general>
            </classes>
            <fields>
                <default>[a-z][\w]+</default>
                <defaultStatic>[a-z][\w]+</defaultStatic>
                <defaultStaticFinal>[a-zA-Z][\w]+</defaultStaticFinal>
                <private>[a-z][\w]+</private>
                <privateStatic>[a-z][\w]+</privateStatic>
                <privateStaticFinal>[a-zA-Z][\w]+</privateStaticFinal>
                <protected>[a-z][\w]+</protected>
                <protectedStatic>[a-z][\w]+</protectedStatic>
                <protectedStaticFinal>[a-zA-Z][\w]+</protectedStaticFinal>
                <public>[a-z][\w]+</public>
                <publicStatic>[a-z][\w]+</publicStatic>
                <publicStaticFinal>[a-zA-Z][\w]+</publicStaticFinal>
            </fields>
            <interfaces>[A-Z][a-zA-Z0-9]+</interfaces>
            <labels>\w+</labels>
            <methods>
                <default>[a-z][\w]+</default>
                <defaultStatic>[a-z][\w]+</defaultStatic>
                <defaultStaticFinal>[a-z][\w]+</defaultStaticFinal>
                <private>[a-z][\w]+</private>
                <privateStatic>[a-z][\w]+</privateStatic>
                <privateStaticFinal>[a-z][\w]+</privateStaticFinal>
                <protected>[a-z][\w]+</protected>
                <protectedStatic>[a-z][\w]+</protectedStatic>
                <protectedStaticFinal>[a-z][\w]+</protectedStaticFinal>
                <public>[a-z][\w]+</public>
                <publicStatic>[a-z][\w]+</publicStatic>
                <publicStaticFinal>[a-z][\w]+</publicStaticFinal>
            </methods>
            <packages>[a-z]+(?:\.[a-z]+)*</packages>
            <parameters>
                <default>[a-z][\w]+</default>
                <final>[a-z][\w]+</final>
            </parameters>
            <variables>[a-z][\w]*</variables>
        </naming>
        <tips>
            <adhereToNamingConvention>false</adhereToNamingConvention>
            <alwaysOverrideEquals>false</alwaysOverrideEquals>
            <alwaysOverrideHashCode>false</alwaysOverrideHashCode>
            <avoidThreadGroups>false</avoidThreadGroups>
            <declareCollectionComment>false</declareCollectionComment>
            <dontIgnoreExceptions>false</dontIgnoreExceptions>
            <dontSubstituteObjectEquals>false</dontSubstituteObjectEquals>
            <neverDeclareException>false</neverDeclareException>
            <neverDeclareThrowable>false</neverDeclareThrowable>
            <neverInvokeWaitOutsideLoop>false</neverInvokeWaitOutsideLoop>
            <neverReturnZeroArrays>false</neverReturnZeroArrays>
            <neverUseEmptyFinally>false</neverUseEmptyFinally>
            <obeyContractEquals>false</obeyContractEquals>
            <overrideToString>false</overrideToString>
            <referToObjectsByInterface>false</referToObjectsByInterface>
            <replaceStructureWithClass>false</replaceStructureWithClass>
            <stringLiterallI18n>false</stringLiterallI18n>
            <useInterfaceOnlyForTypes>false</useInterfaceOnlyForTypes>
            <wrongCollectionComment>false</wrongCollectionComment>
        </tips>
    </inspector>
    <internal>
        <version>6</version>
    </internal>
    <messages>
        <priority>
            <general>30000</general>
            <parser>30000</parser>
            <parserJavadoc>30000</parserJavadoc>
            <printer>30000</printer>
            <printerJavadoc>30000</printerJavadoc>
            <transform>30000</transform>
        </priority>
        <showErrorStackTrace>true</showErrorStackTrace>
    </messages>
    <misc>
        <threadCount>1</threadCount>
    </misc>
    <printer>
        <alignment>
            <methodCallChain>true</methodCallChain>
            <parameterMethodDeclaration>false</parameterMethodDeclaration>
            <ternaryOperator>true</ternaryOperator>
            <variableAssignment>false</variableAssignment>
            <variableIdentifier>false</variableIdentifier>
        </alignment>
        <backup>
            <directory>bak</directory>
            <level>0</level>
        </backup>
        <blanklines>
            <after>
                <block>1</block>
                <braceLeft>0</braceLeft>
                <class>1</class>
                <declaration>0</declaration>
                <footer>1</footer>
                <header>1</header>
                <interface>1</interface>
                <lastImport>2</lastImport>
                <method>1</method>
                <package>1</package>
            </after>
            <before>
                <block>1</block>
                <braceRight>0</braceRight>
                <caseBlock>1</caseBlock>
                <comment>
                    <javadoc>1</javadoc>
                    <multiline>1</multiline>
                    <singleline>1</singleline>
                </comment>
                <controlStatement>1</controlStatement>
                <declaration>1</declaration>
                <footer>0</footer>
                <header>0</header>
            </before>
            <keepUpTo>1</keepUpTo>
        </blanklines>
        <braces>
            <empty>
                <cuddle>false</cuddle>
                <insertStatement>false</insertStatement>
            </empty>
            <insert>
                <dowhile>false</dowhile>
                <for>false</for>
                <ifelse>false</ifelse>
                <while>false</while>
            </insert>
            <remove>
                <block>true</block>
                <dowhile>true</dowhile>
                <for>true</for>
                <ifelse>true</ifelse>
                <while>true</while>
            </remove>
            <treatDifferent>
                <methodClass>true</methodClass>
                <methodClassIfWrapped>false</methodClassIfWrapped>
            </treatDifferent>
        </braces>
        <chunks>
            <blanklines>true</blanklines>
            <comments>true</comments>
        </chunks>
        <comments>
            <format>
                <multiline>false</multiline>
            </format>
            <javadoc>
                <check>
                    <innerclass>false</innerclass>
                    <tags>false</tags>
                    <throwsTags>false</throwsTags>
                </check>
                <fieldsShort>false</fieldsShort>
                <generate>
                    <class>0</class>
                    <constructor>0</constructor>
                    <field>0</field>
                    <method>0</method>
                </generate>
                <parseComments>true</parseComments>
                <tags>
                    <in-line />
                    <standard />
                </tags>
                <templates>
                    <method>
                        <bottom> */</bottom>
                        <exception> * @throws $exceptionType$ DOCUMENT 
ME!</exception>
                        <param> * @param $paramType$ DOCUMENT ME!</param>
                        <return> * @return DOCUMENT ME!</return>
                        <top>/**| * DOCUMENT ME!</top>
                    </method>
                </templates>
            </javadoc>
            <remove>
                <javadoc>false</javadoc>
                <multiline>false</multiline>
                <singleline>false</singleline>
            </remove>
            <separator>
                <fillCharacter>-</fillCharacter>
                <insert>false</insert>
                <insertRecursive>false</insertRecursive>
                <text>
                    <class>Inner Classes</class>
                    <constructor>Constructors</constructor>
                    <field>Instance fields</field>
                    <initializer>Instance initializers</initializer>
                    <interface>Inner Interfaces</interface>
                    <method>Methods</method>
                    <static>Static fields/initializers</static>
                </text>
            </separator>
        </comments>
        <environment />
        <footer>
            <keys />
            <smartMode>0</smartMode>
            <use>false</use>
        </footer>
        <header>
            <keys />
            <smartMode>0</smartMode>
            <use>false</use>
        </header>
        <history>
            <policy>disabled</policy>
        </history>
        <imports>
            <grouping>
                <defaultDepth>0</defaultDepth>
                <packages>*:0|gnu:2|java:2|javax:2</packages>
            </grouping>
            <policy>disabled</policy>
            <sort>true</sort>
        </imports>
        <indentation>
            <caseFromSwitch>true</caseFromSwitch>
            <continuation>
                <block>true</block>
                <operator>false</operator>
            </continuation>
            <firstColumnComments>false</firstColumnComments>
            <label>true</label>
            <policy>
                <deep>true</deep>
            </policy>
            <sizes>
                <braceCuddled>1</braceCuddled>
                <braceLeft>2</braceLeft>
                <braceRight>2</braceRight>
                <braceRightAfter>0</braceRightAfter>
                <continuation>0</continuation>
                <deep>55</deep>
                <extends>4</extends>
                <general>2</general>
                <implements>4</implements>
                <leading>0</leading>
                <tabs>8</tabs>
                <throws>4</throws>
                <trailingComment>1</trailingComment>
            </sizes>
            <tabs>
                <enable>false</enable>
                <onlyLeading>false</onlyLeading>
            </tabs>
        </indentation>
        <misc>
            <arrayBracketsAfterIdent>false</arrayBracketsAfterIdent>
            <forceFormatting>false</forceFormatting>
            <insertExpressionParentheses>true</insertExpressionParentheses>
            <insertLoggingConditional>false</insertLoggingConditional>
            <insertTrailingNewline>true</insertTrailingNewline>
            <insertUID>false</insertUID>
        </misc>
        <sorting>
            <declaration>
                <class>false</class>
                <constructor>false</constructor>
                <enable>false</enable>
                <interface>false</interface>
                <method>false</method>
                
<order>static|field|initializer|constructor|method|interface|class</order>
                <variable>false</variable>
            </declaration>
            <modifier>
                <enable>true</enable>
                
<order>public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp</order>
            </modifier>
        </sorting>
        <whitespace>
            <after>
                <comma>true</comma>
                <semicolon>true</semicolon>
                <typeCast>true</typeCast>
            </after>
            <before>
                <braces>false</braces>
                <brackets>false</brackets>
                <bracketsTypes>false</bracketsTypes>
                <caseColon>false</caseColon>
                <operator>
                    <not>true</not>
                </operator>
                <parentheses>
                    <methodCall>false</methodCall>
                    <methodDeclaration>false</methodDeclaration>
                    <statement>true</statement>
                </parentheses>
            </before>
            <padding>
                <braces>true</braces>
                <brackets>false</brackets>
                <operator>
                    <assignment>true</assignment>
                    <bitwise>true</bitwise>
                    <logical>true</logical>
                    <mathematical>true</mathematical>
                    <relational>true</relational>
                    <shift>true</shift>
                </operator>
                <parenthesis>false</parenthesis>
                <typeCast>false</typeCast>
            </padding>
        </whitespace>
        <wrapping>
            <always>
                <after>
                    <arrayElement>0</arrayElement>
                    <braceRight>true</braceRight>
                    <extendsTypes>false</extendsTypes>
                    <implementsTypes>false</implementsTypes>
                    <label>true</label>
                    <methodCallChained>false</methodCallChained>
                    <ternaryOperator>
                        <first>false</first>
                        <second>false</second>
                    </ternaryOperator>
                    <throwsTypes>false</throwsTypes>
                </after>
                <before>
                    <braceLeft>true</braceLeft>
                    <extends>false</extends>
                    <implements>false</implements>
                    <throws>false</throws>
                </before>
                <parameter>
                    <methodCall>false</methodCall>
                    <methodCallNested>false</methodCallNested>
                    <methodDeclaration>false</methodDeclaration>
                </parameter>
            </always>
            <general>
                <beforeOperator>true</beforeOperator>
                <enable>true</enable>
                <lineLength>80</lineLength>
            </general>
            <ondemand>
                <after>
                    <assignment>false</assignment>
                    <leftParenthesis>false</leftParenthesis>
                    <parameter>false</parameter>
                    <types>
                        <extends>false</extends>
                        <implements>false</implements>
                        <throws>false</throws>
                    </types>
                </after>
                <before>
                    <rightParenthesis>false</rightParenthesis>
                </before>
                <groupingParentheses>false</groupingParentheses>
            </ondemand>
        </wrapping>
    </printer>
</jalopy>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]