sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1757005 - in /sis/branches/JDK8/core: sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/ sis-referencing/src/test/java/org/apache/sis/test/integration/ sis-utility/src/main/java/org/apache/sis/internal/converter/ si...
Date Sat, 20 Aug 2016 14:47:14 GMT
Author: desruisseaux
Date: Sat Aug 20 14:47:14 2016
New Revision: 1757005

URL: http://svn.apache.org/viewvc?rev=1757005&view=rev
Log:
Javadoc and formatting (no code change in this commit).

Modified:
    sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java
    sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
    sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java
    sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java

Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java?rev=1757005&r1=1757004&r2=1757005&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java
[UTF-8] Sat Aug 20 14:47:14 2016
@@ -54,8 +54,8 @@ public final class AffineTransforms2D ex
      * If the given matrix is already an instance of {@link AffineTransform}, then it is
returned directly.
      * Otherwise the values are copied in a new {@code AffineTransform} instance.
      *
-     * @param  matrix The matrix to returns as an affine transform, or {@code null}.
-     * @return The matrix argument if it can be safely casted (including {@code null} argument),
+     * @param  matrix  the matrix to returns as an affine transform, or {@code null}.
+     * @return the matrix argument if it can be safely casted (including {@code null} argument),
      *         or a copy of the given matrix otherwise.
      * @throws IllegalArgumentException if the given matrix size is not 3×3 or if the matrix
is not affine.
      *
@@ -77,8 +77,8 @@ public final class AffineTransforms2D ex
     /**
      * Creates a 3×3 matrix from the given affine transform.
      *
-     * @param  transform The affine transform to copy as a matrix.
-     * @return A matrix containing the same terms than the given affine transform.
+     * @param  transform  the affine transform to copy as a matrix.
+     * @return a matrix containing the same terms than the given affine transform.
      */
     public static Matrix3 toMatrix(final AffineTransform transform) {
         return new Matrix3(transform.getScaleX(), transform.getShearX(), transform.getTranslateX(),
@@ -97,12 +97,12 @@ public final class AffineTransforms2D ex
      *   <li>It tries to recycle the given object if {@code overwrite} is {@code true}.</li>
      * </ul>
      *
-     * @param transform      The affine transform to use.
-     * @param shape          The shape to transform, or {@code null}.
-     * @param allowOverwrite If {@code true}, this method is allowed to overwrite {@code
shape} with the
-     *                       transform result. If {@code false}, then {@code shape} is never
modified.
+     * @param transform       the affine transform to use.
+     * @param shape           the shape to transform, or {@code null}.
+     * @param allowOverwrite  if {@code true}, this method is allowed to overwrite {@code
shape} with the
+     *                        transform result. If {@code false}, then {@code shape} is never
modified.
      *
-     * @return The transform of the given shape, or {@code null} if the given shape was null.
+     * @return the transform of the given shape, or {@code null} if the given shape was null.
      *         May or may not be the same instance than the given shape.
      *
      * @see AffineTransform#createTransformedShape(Shape)
@@ -171,14 +171,14 @@ public final class AffineTransforms2D ex
      * <strong>upper-left corner</strong> of pixels (as in Java2D usage), not
the center of pixels
      * (OGC usage).
      *
-     * @param transform The affine transform to use.
-     * @param bounds    The rectangle to transform, or {@code null}.
-     *                  This rectangle will not be modified except if {@code dest} references
the same object.
-     * @param dest      Rectangle in which to place the result. If {@code null}, a new rectangle
will be created.
+     * @param transform  the affine transform to use.
+     * @param bounds     the rectangle to transform, or {@code null}.
+     *                   this rectangle will not be modified except if {@code dest} references
the same object.
+     * @param dest       rectangle in which to place the result. If {@code null}, a new rectangle
will be created.
      *
-     * @return The direct transform of the {@code bounds} rectangle, or {@code null} if {@code
bounds} was null.
+     * @return the direct transform of the {@code bounds} rectangle, or {@code null} if {@code
bounds} was null.
      *
-     * @see org.apache.sis.geometry.Envelopes#transform(MathTransform2D, Rectangle2D, Rectangle2D)
+     * @see org.apache.sis.geometry.Shapes2D#transform(MathTransform2D, Rectangle2D, Rectangle2D)
      */
     public static Rectangle2D transform(final AffineTransform transform,
             final Rectangle2D bounds, final Rectangle2D dest)
@@ -217,12 +217,12 @@ public final class AffineTransforms2D ex
      *     return createInverse().createTransformedShape(bounds).getBounds2D();
      * }
      *
-     * @param transform The affine transform to use.
-     * @param bounds    The rectangle to transform, or {@code null}.
-     *                  This rectangle will not be modified except if {@code dest} references
the same object.
-     * @param dest      Rectangle in which to place the result. If {@code null}, a new rectangle
will be created.
+     * @param transform  the affine transform to use.
+     * @param bounds     the rectangle to transform, or {@code null}.
+     *                   this rectangle will not be modified except if {@code dest} references
the same object.
+     * @param dest       rectangle in which to place the result. If {@code null}, a new rectangle
will be created.
      *
-     * @return The inverse transform of the {@code bounds} rectangle, or {@code null} if
{@code bounds} was null.
+     * @return the inverse transform of the {@code bounds} rectangle, or {@code null} if
{@code bounds} was null.
      * @throws NoninvertibleTransformException if the affine transform can't be inverted.
      */
     public static Rectangle2D inverseTransform(final AffineTransform transform,
@@ -257,12 +257,12 @@ public final class AffineTransforms2D ex
      * Calculates the inverse transform of a point without applying the translation components.
      * In other words, calculates the inverse transform of a displacement vector.
      *
-     * @param transform The affine transform to use.
-     * @param vector    The vector to transform stored as a point.
-     *                  This point will not be modified except if {@code dest} references
the same object.
-     * @param dest      Point in which to place the result. If {@code null}, a new point
will be created.
+     * @param transform  the affine transform to use.
+     * @param vector     the vector to transform stored as a point.
+     *                   this point will not be modified except if {@code dest} references
the same object.
+     * @param dest       point in which to place the result. If {@code null}, a new point
will be created.
      *
-     * @return The inverse transform of the {@code vector}, or {@code null} if {@code source}
was null.
+     * @return the inverse transform of the {@code vector}, or {@code null} if {@code source}
was null.
      * @throws NoninvertibleTransformException if the affine transform can't be inverted.
      */
     public static Point2D inverseDeltaTransform(final AffineTransform transform,
@@ -298,7 +298,7 @@ public final class AffineTransforms2D ex
      * preserved, {@code -1} if the transform seems to swap axis to the (<var>y</var>,
<var>x</var>) axis order,
      * or {@code 0} if this method can not make a decision.
      *
-     * @param  transform The affine transform to inspect.
+     * @param  transform  the affine transform to inspect.
      * @return {@code true} if the given transform seems to swap axis order.
      */
     public static int getSwapXY(final AffineTransform transform) {
@@ -322,8 +322,8 @@ public final class AffineTransforms2D ex
      * applied, then this method assumes that the flipped axis is the <var>y</var>
one in <cite>source CRS</cite>
      * space. For a <cite>grid to world CRS</cite> transform, this is the row
number in grid coordinates.
      *
-     * @param  transform The affine transform to inspect.
-     * @return An estimation of the rotation angle in radians,
+     * @param  transform  the affine transform to inspect.
+     * @return an estimation of the rotation angle in radians,
      *         or {@link Double#NaN NaN} if the angle can not be estimated.
      */
     public static double getRotation(final AffineTransform transform) {
@@ -365,7 +365,7 @@ public final class AffineTransforms2D ex
      *     boolean flipped = (tr.getType() & TYPE_FLIP) != 0;
      * }
      *
-     * @param transform The affine transform to inspect.
+     * @param transform  the affine transform to inspect.
      * @return -1 if an axis has been flipped, +1 if no flipping, or 0 if unknown.
      */
     public static int getFlip(final AffineTransform transform) {
@@ -385,15 +385,15 @@ public final class AffineTransforms2D ex
      *
      * <p><img src="doc-files/scaleX0.png" alt="Scale factor on x axis"></p>
      *
-     * @param  transform The affine transform to inspect.
-     * @return The magnitude of scale factor <var>x</var>.
+     * @param  transform  the affine transform to inspect.
+     * @return the magnitude of scale factor <var>x</var>.
      */
     public static double getScaleX0(final AffineTransform transform) {
         ArgumentChecks.ensureNonNull("transform", transform);
         final double scale = transform.getScaleX();
         final double shear = transform.getShearX();
-        if (shear == 0) return abs(scale);  // Optimization for a very common case.
-        if (scale == 0) return abs(shear);  // Not as common as above, but still common enough.
+        if (shear == 0) return abs(scale);                  // Optimization for a very common
case.
+        if (scale == 0) return abs(shear);                  // Not as common as above, but
still common enough.
         return hypot(scale, shear);
     }
 
@@ -403,15 +403,15 @@ public final class AffineTransforms2D ex
      *
      * <p><img src="doc-files/scaleY0.png" alt="Scale factor on y axis"></p>
      *
-     * @param  transform The affine transform to inspect.
-     * @return The magnitude of scale factor <var>y</var>.
+     * @param  transform  the affine transform to inspect.
+     * @return the magnitude of scale factor <var>y</var>.
      */
     public static double getScaleY0(final AffineTransform transform) {
         ArgumentChecks.ensureNonNull("transform", transform);
         final double scale = transform.getScaleY();
         final double shear = transform.getShearY();
-        if (shear == 0) return abs(scale);  // Optimization for a very common case.
-        if (scale == 0) return abs(shear);  // Not as common as above, but still common enough.
+        if (shear == 0) return abs(scale);                  // Optimization for a very common
case.
+        if (scale == 0) return abs(shear);                  // Not as common as above, but
still common enough.
         return hypot(scale, shear);
     }
 }

Modified: sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java?rev=1757005&r1=1757004&r2=1757005&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
[UTF-8] Sat Aug 20 14:47:14 2016
@@ -131,9 +131,9 @@ public strictfp class MetadataTest exten
      * Sets the temporal extent. The current implementation does nothing, because {@code
sis-metadata} does not have
      * any dependency to {@code sis-temporal}. However a future version or an other module
may implement this method.
      *
-     * @param extent    The extent to set.
-     * @param startTime The start time in the {@code "yyyy-MM-dd"} format.
-     * @param endTime   The end time in the {@code "yyyy-MM-dd"} format.
+     * @param  extent     the extent to set.
+     * @param  startTime  the start time in the {@code "yyyy-MM-dd"} format.
+     * @param  endTime    the end time in the {@code "yyyy-MM-dd"} format.
      */
     protected void setTemporalBounds(final DefaultTemporalExtent extent, final String startTime,
final String endTime) {
         /*
@@ -145,7 +145,7 @@ public strictfp class MetadataTest exten
     /**
      * Programmatically creates the metadata to marshall, or to compare against the unmarshalled
metadata.
      *
-     * @return The hard-coded representation of {@code "Metadata.xml"} content.
+     * @return the hard-coded representation of {@code "Metadata.xml"} content.
      */
     private DefaultMetadata createHardCoded() {
         final DefaultMetadata metadata = new DefaultMetadata();
@@ -347,8 +347,8 @@ public strictfp class MetadataTest exten
             final DefaultDistribution distributionInfo = new DefaultDistribution();
             distributor.setRole(Role.DISTRIBUTOR);
             distributionInfo.setDistributors(singleton(new DefaultDistributor(distributor)));
-            distributionInfo.setDistributionFormats(singleton(
-                    new DefaultFormat(new Anchor(URI.create("SDN:L241:1:MEDATLAS"), "MEDATLAS
ASCII"), "1.0")));
+            distributionInfo.setDistributionFormats(singleton(new DefaultFormat(
+                    new Anchor(URI.create("SDN:L241:1:MEDATLAS"), "MEDATLAS ASCII"), "1.0")));
             final DefaultDigitalTransferOptions transfer = new DefaultDigitalTransferOptions();
             transfer.setTransferSize(2.431640625);
             final DefaultOnlineResource onlines = new DefaultOnlineResource(URI.create(
@@ -366,7 +366,7 @@ public strictfp class MetadataTest exten
     /**
      * Returns the URL to the {@code "Metadata.xml"} file to use for this test.
      *
-     * @return The URL to {@code "Metadata.xml"} test file.
+     * @return the URL to {@code "Metadata.xml"} test file.
      */
     private URL getResource() {
         return MetadataTest.class.getResource("Metadata.xml");
@@ -375,7 +375,7 @@ public strictfp class MetadataTest exten
     /**
      * Tests marshalling of a XML document.
      *
-     * @throws Exception If an error occurred during marshalling.
+     * @throws Exception if an error occurred during marshalling.
      */
     @Test
     public void testMarshalling() throws Exception {
@@ -413,9 +413,9 @@ public strictfp class MetadataTest exten
     /**
      * Replaces the first occurrence of the given string by an other one.
      *
-     * @param buffer    The buffer in which to perform the replacement.
-     * @param toSearch  The string to search.
-     * @param replaceBy The value to use as a replacement.
+     * @param  buffer     the buffer in which to perform the replacement.
+     * @param  toSearch   the string to search.
+     * @param  replaceBy  the value to use as a replacement.
      */
     private static void replace(final StringBuffer buffer, final String toSearch, final String
replaceBy) {
         final int i = buffer.indexOf(toSearch);
@@ -426,7 +426,7 @@ public strictfp class MetadataTest exten
     /**
      * Tests unmarshalling of a XML document.
      *
-     * @throws JAXBException If an error occurred during unmarshalling.
+     * @throws JAXBException if an error occurred during unmarshalling.
      */
     @Test
     public void testUnmarshalling() throws JAXBException {
@@ -553,8 +553,8 @@ public strictfp class MetadataTest exten
     /**
      * Verifies the name and identifier for the given object.
      *
-     * @param code   The expected identifier code.
-     * @param object The object to verify.
+     * @param  code    the expected identifier code.
+     * @param  object  the object to verify.
      */
     private static void verifyIdentifiers(final String code, final IdentifiedObject object)
{
         assertIdentifierEquals("identifier", "Apache Spatial Information System", "SIS",

Modified: sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java?rev=1757005&r1=1757004&r2=1757005&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java
[UTF-8] Sat Aug 20 14:47:14 2016
@@ -29,7 +29,7 @@
  * exactly the following name:
  *
  * {@preformat text
- *     META-INF/services/org.apache.sis.util.converter.ObjectConverter
+ *     META-INF/services/org.apache.sis.util.ObjectConverter
  * }
  *
  * Applications deployed in a modularization framework like OSGi shall use only the

Modified: sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java?rev=1757005&r1=1757004&r2=1757005&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java
[UTF-8] Sat Aug 20 14:47:14 2016
@@ -111,8 +111,8 @@ public class DefaultNameFactory extends
     /**
      * Creates an international string from a set of strings in different locales.
      *
-     * @param strings String value for each locale key.
-     * @return The international string.
+     * @param  strings  string value for each locale key.
+     * @return the international string.
      *
      * @see Types#toInternationalString(CharSequence)
      */
@@ -169,13 +169,10 @@ public class DefaultNameFactory extends
      *   <li>For HTTP namespace, {@code separator.head} = {@code "://"} and {@code
separator} = {@code "."}.</li>
      * </ul></div>
      *
-     * @param name
-     *          The name of the namespace to be returned. This argument can be created using
-     *          <code>{@linkplain #createGenericName(NameSpace, CharSequence[]) createGenericName}(null,
namespace)</code>.
-     * @param properties
-     *          An optional map of properties to be assigned to the namespace, or {@code
null} if none.
-     *
-     * @return A namespace having the given name and separator.
+     * @param  name  the name of the namespace to be returned. This argument can be created
using
+     *         <code>{@linkplain #createGenericName(NameSpace, CharSequence[]) createGenericName}(null,
namespace)</code>.
+     * @param  properties  an optional map of properties to be assigned to the namespace,
or {@code null} if none.
+     * @return a namespace having the given name and separator.
      *
      * @see Names#createLocalName(CharSequence, String, CharSequence)
      */
@@ -202,10 +199,10 @@ public class DefaultNameFactory extends
      * Creates a type name from the given character sequence.
      * The default implementation returns a new or an existing {@link DefaultTypeName} instance.
      *
-     * @param  scope The {@linkplain AbstractName#scope() scope} of the type
+     * @param  scope  the {@linkplain AbstractName#scope() scope} of the type
      *         name to be created, or {@code null} for a global namespace.
-     * @param  name The type name as a string or an international string.
-     * @return The type name for the given character sequence.
+     * @param  name  the type name as a string or an international string.
+     * @return the type name for the given character sequence.
      *
      * @see #toTypeName(Class)
      * @see Names#createTypeName(CharSequence, String, CharSequence)
@@ -219,11 +216,11 @@ public class DefaultNameFactory extends
      * Creates a member name from the given character sequence and attribute type.
      * The default implementation returns a new or an existing {@link DefaultMemberName}
instance.
      *
-     * @param  scope The {@linkplain AbstractName#scope() scope} of the member
+     * @param  scope  the {@linkplain AbstractName#scope() scope} of the member
      *         name to be created, or {@code null} for a global namespace.
-     * @param  name The member name as a string or an international string.
-     * @param  attributeType The type of the data associated with the record member.
-     * @return The member name for the given character sequence.
+     * @param  name  the member name as a string or an international string.
+     * @param  attributeType  the type of the data associated with the record member.
+     * @return the member name for the given character sequence.
      */
     @Override
     public MemberName createMemberName(final NameSpace scope, final CharSequence name, final
TypeName attributeType) {
@@ -234,10 +231,10 @@ public class DefaultNameFactory extends
      * Creates a local name from the given character sequence.
      * The default implementation returns a new or an existing {@link DefaultLocalName} instance.
      *
-     * @param  scope The {@linkplain AbstractName#scope() scope} of the local
+     * @param  scope  the {@linkplain AbstractName#scope() scope} of the local
      *         name to be created, or {@code null} for a global namespace.
-     * @param  name The local name as a string or an international string.
-     * @return The local name for the given character sequence.
+     * @param  name  the local name as a string or an international string.
+     * @return the local name for the given character sequence.
      *
      * @see Names#createLocalName(CharSequence, String, CharSequence)
      */
@@ -260,11 +257,11 @@ public class DefaultNameFactory extends
      * array is 1, or an instance of {@link DefaultScopedName} if the length of the array
is 2
      * or more.
      *
-     * @param  scope The {@linkplain AbstractName#scope() scope} of the generic name to be
created,
+     * @param  scope  the {@linkplain AbstractName#scope() scope} of the generic name to
be created,
      *         or {@code null} for a global namespace.
-     * @param  parsedNames The local names as an array of {@link String} or {@link InternationalString}
instances.
+     * @param  parsedNames  the local names as an array of {@link String} or {@link InternationalString}
instances.
      *         This array shall contain at least one element.
-     * @return The generic name for the given parsed names.
+     * @return the generic name for the given parsed names.
      *
      * @see #parseGenericName(NameSpace, CharSequence)
      */
@@ -283,11 +280,11 @@ public class DefaultNameFactory extends
      * This method splits the given name around a separator inferred from the given scope,
or the
      * {@link DefaultNameSpace#DEFAULT_SEPARATOR ':'} separator if the given scope is null.
      *
-     * @param  scope The {@linkplain AbstractName#scope() scope} of the generic name to
+     * @param  scope  the {@linkplain AbstractName#scope() scope} of the generic name to
      *         be created, or {@code null} for a global namespace.
-     * @param  name The qualified name, as a sequence of names separated by a scope-dependent
+     * @param  name  the qualified name, as a sequence of names separated by a scope-dependent
      *         separator.
-     * @return A name parsed from the given string.
+     * @return a name parsed from the given string.
      *
      * @see Names#parseGenericName(CharSequence, String, CharSequence)
      */
@@ -339,8 +336,8 @@ public class DefaultNameFactory extends
      * If {@code value} is an array or a collection containing {@code null} elements,
      * then the corresponding element in the returned array will also be {@code null}.
      *
-     * @param  value The object to cast into an array of generic names, or {@code null}.
-     * @return The generic names, or {@code null} if the given {@code value} was null.
+     * @param  value  the object to cast into an array of generic names, or {@code null}.
+     * @return the generic names, or {@code null} if the given {@code value} was null.
      *         Note that it may be the {@code value} reference itself casted to {@code GenericName[]}.
      * @throws ClassCastException if {@code value} can't be casted.
      *
@@ -391,8 +388,8 @@ public class DefaultNameFactory extends
      * {@link GenericName}, {@link Identifier}, {@link CharSequence} or {@link Class}.
      * If the given object is not recognized, then this method returns {@code null}.
      *
-     * @param  value The object to convert.
-     * @return The converted object, or {@code null} if {@code value} is not convertible.
+     * @param  value  the object to convert.
+     * @return the converted object, or {@code null} if {@code value} is not convertible.
      */
     private GenericName toGenericName(final Object value) {
         if (value instanceof GenericName) {
@@ -418,8 +415,8 @@ public class DefaultNameFactory extends
      * encouraged to retrieve the {@code valueClass} by invoking the {@link Names#toClass(TypeName)}
method instead
      * than parsing the name.</p>
      *
-     * @param  valueClass The Java class for which to get a type name, or {@code null}.
-     * @return A suggested type name, or {@code null} if the given class was null.
+     * @param  valueClass  the Java class for which to get a type name, or {@code null}.
+     * @return a suggested type name, or {@code null} if the given class was null.
      *
      * @see DefaultTypeName#toClass()
      * @see Names#toClass(TypeName)
@@ -447,7 +444,7 @@ public class DefaultNameFactory extends
              * better to avoid double synchronization for reducing the risk of dead-lock.
              */
             final TypeNames c = new TypeNames(this);
-            synchronized (this) { // Double-check strategy is ok if 'typeNames' is volatile.
+            synchronized (this) {                       // Double-check strategy is ok if
'typeNames' is volatile.
                 t = typeNames;
                 if (t == null) {
                     typeNames = t = c;



Mime
View raw message