Skip to content

Commit d6feb0a

Browse files
committed
cast+refs (cont.)
1 parent 7931fe1 commit d6feb0a

34 files changed

+195
-196
lines changed

org/w3c/css/properties/css3/CssBorder.java

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.w3c.css.properties.css.CssProperty;
99
import org.w3c.css.util.ApplContext;
1010
import org.w3c.css.util.InvalidParamException;
11-
import org.w3c.css.values.CssCheckableValue;
1211
import org.w3c.css.values.CssExpression;
1312
import org.w3c.css.values.CssIdent;
1413
import org.w3c.css.values.CssTypes;
@@ -18,7 +17,7 @@
1817
import static org.w3c.css.values.CssOperator.SPACE;
1918

2019
/**
21-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border
20+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border
2221
*/
2322
public class CssBorder extends org.w3c.css.properties.css.CssBorder {
2423

@@ -118,13 +117,11 @@ protected static SideValues parseBorderSide(ApplContext ac, CssExpression expres
118117

119118
switch (val.getType()) {
120119
case CssTypes.CSS_NUMBER:
121-
CssCheckableValue number = val.getCheckableValue();
122-
number.checkEqualsZero(ac, caller);
120+
val.getCheckableValue().checkEqualsZero(ac, caller);
123121
_width = val;
124122
break;
125123
case CssTypes.CSS_LENGTH:
126-
CssCheckableValue length = val.getCheckableValue();
127-
length.checkPositiveness(ac, caller);
124+
val.getCheckableValue().checkPositiveness(ac, caller);
128125
_width = val;
129126
break;
130127
case CssTypes.CSS_HASH_IDENT:
@@ -141,36 +138,36 @@ protected static SideValues parseBorderSide(ApplContext ac, CssExpression expres
141138
_color = transparent;
142139
break;
143140
}
144-
if (inherit.equals(id)) {
141+
if (CssIdent.isCssWide(id)) {
145142
if (expression.getCount() > 1) {
146143
throw new InvalidParamException("unrecognize", ac);
147144
}
148-
_width = inherit;
149-
_style = inherit;
150-
_color = inherit;
145+
_width = val;
146+
_style = val;
147+
_color = val;
151148
break;
152149
}
153-
CssIdent match = CssBorderWidth.getMatchingIdent(id);
150+
CssIdent match = CssBorderWidth.getAllowedIdent(id);
154151
if (match != null) {
155-
_width = match;
152+
_width = val;
156153
} else {
157-
match = CssBorderStyle.getMatchingIdent(id);
154+
match = CssBorderStyle.getAllowedIdent(id);
158155
if (match != null) {
159-
_style = match;
156+
_style = val;
160157
} else {
161158
// if not a width or a style, fail if it's not a proper color
162159
nex = new CssExpression();
163160
nex.addValue(val);
164161
CssColor cssColor = new CssColor(ac, nex, false);
165-
_color = cssColor.color;
162+
_color = cssColor.getValue();
166163
}
167164
}
168165
break;
169166
case CssTypes.CSS_FUNCTION:
170167
nex = new CssExpression();
171168
nex.addValue(val);
172169
CssColor cssColor = new CssColor(ac, nex, false);
173-
_color = cssColor.color;
170+
_color = cssColor.getValue();
174171
break;
175172
default:
176173
throw new InvalidParamException("value", val.toString(),

org/w3c/css/properties/css3/CssBorderBottom.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import org.w3c.css.values.CssExpression;
1212

1313
/**
14-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-bottom
14+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-right
1515
* @see CssBorder
1616
*/
1717
public class CssBorderBottom extends org.w3c.css.properties.css.CssBorderBottom {

org/w3c/css/properties/css3/CssBorderBottomColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.w3c.css.values.CssExpression;
1111

1212
/**
13-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-bottom-color
13+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-bottom-color
1414
* @see CssBorderColor
1515
*/
1616
public class CssBorderBottomColor extends org.w3c.css.properties.css.CssBorderBottomColor {

org/w3c/css/properties/css3/CssBorderBottomLeftRadius.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.w3c.css.values.CssValueList;
1414

1515
/**
16-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-bottom-left-radius
16+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-bottom-left-radius
1717
* @see CssBorderRadius
1818
*/
1919
public class CssBorderBottomLeftRadius extends org.w3c.css.properties.css.CssBorderBottomLeftRadius {

org/w3c/css/properties/css3/CssBorderBottomRightRadius.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.w3c.css.values.CssValueList;
1414

1515
/**
16-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-bottom-right-radius
16+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-bottom-right-radius
1717
* @see CssBorderRadius
1818
*/
1919
public class CssBorderBottomRightRadius extends org.w3c.css.properties.css.CssBorderBottomRightRadius {

org/w3c/css/properties/css3/CssBorderBottomStyle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.w3c.css.values.CssExpression;
1111

1212
/**
13-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-bottom-style
13+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-bottom-style
1414
* @see CssBorderStyle
1515
*/
1616
public class CssBorderBottomStyle extends org.w3c.css.properties.css.CssBorderBottomStyle {

org/w3c/css/properties/css3/CssBorderBottomWidth.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.w3c.css.values.CssExpression;
1111

1212
/**
13-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-bottom-width
13+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-top-width
1414
* @see CssBorderWidth
1515
*/
1616
public class CssBorderBottomWidth extends org.w3c.css.properties.css.CssBorderBottomWidth {

org/w3c/css/properties/css3/CssBorderColor.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import org.w3c.css.util.ApplContext;
1010
import org.w3c.css.util.InvalidParamException;
1111
import org.w3c.css.values.CssExpression;
12+
import org.w3c.css.values.CssIdent;
13+
import org.w3c.css.values.CssTypes;
1214
import org.w3c.css.values.CssValue;
1315
import org.w3c.css.values.CssValueList;
1416

@@ -17,7 +19,7 @@
1719
import static org.w3c.css.values.CssOperator.SPACE;
1820

1921
/**
20-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-color
22+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-color
2123
*/
2224
public class CssBorderColor extends org.w3c.css.properties.css.CssBorderColor {
2325

@@ -37,8 +39,7 @@ public CssBorderColor() {
3739
* Does not check the number of values
3840
*
3941
* @param expression The expression for this property
40-
* @throws org.w3c.css.util.InvalidParamException
41-
* The expression is incorrect
42+
* @throws org.w3c.css.util.InvalidParamException The expression is incorrect
4243
*/
4344
public CssBorderColor(ApplContext ac, CssExpression expression)
4445
throws InvalidParamException {
@@ -50,8 +51,7 @@ public CssBorderColor(ApplContext ac, CssExpression expression)
5051
*
5152
* @param expression The expression for this property
5253
* @param check set it to true to check the number of values
53-
* @throws org.w3c.css.util.InvalidParamException
54-
* The expression is incorrect
54+
* @throws org.w3c.css.util.InvalidParamException The expression is incorrect
5555
*/
5656
public CssBorderColor(ApplContext ac, CssExpression expression,
5757
boolean check) throws InvalidParamException {
@@ -61,14 +61,17 @@ public CssBorderColor(ApplContext ac, CssExpression expression,
6161
setByUser();
6262
CssValue val;
6363
char op;
64+
boolean isCssWide = false;
6465

6566
ArrayList<CssValue> res = new ArrayList<CssValue>();
6667
while (res.size() < 4 && !expression.end()) {
6768
val = expression.getValue();
6869
op = expression.getOperator();
6970

70-
if (inherit.equals(val)) {
71-
res.add(inherit);
71+
if ((val.getType() == CssTypes.CSS_IDENT) && CssIdent.isCssWide(val.getIdent())) {
72+
res.add(val);
73+
isCssWide = true;
74+
value = val;
7275
} else {
7376
try {
7477
CssExpression ex = new CssExpression();
@@ -77,7 +80,7 @@ public CssBorderColor(ApplContext ac, CssExpression expression,
7780
CssColor tcolor = new CssColor(ac, ex, check);
7881
// instead of using getColor, we get the value directly
7982
// as we can have idents
80-
res.add(tcolor.color);
83+
res.add(tcolor.getValue());
8184
} catch (InvalidParamException e) {
8285
throw new InvalidParamException("value",
8386
val.toString(),
@@ -92,8 +95,10 @@ public CssBorderColor(ApplContext ac, CssExpression expression,
9295
}
9396
}
9497
// check that inherit is alone
95-
if (res.size() > 1 && res.contains(inherit)) {
96-
throw new InvalidParamException("unrecognize", ac);
98+
if (res.size() > 1 && isCssWide) {
99+
throw new InvalidParamException("value",
100+
value.toString(),
101+
getPropertyName(), ac);
97102
}
98103
value = (res.size() == 1) ? res.get(0) : new CssValueList(res);
99104

@@ -133,7 +138,9 @@ public CssBorderColor(ApplContext ac, CssExpression expression,
133138
* Check the border-*-color and returns a value.
134139
* It makes sense to do it only once for all the sides, so by having the code here.
135140
*/
136-
protected static CssValue parseBorderSideColor(ApplContext ac, CssExpression expression, boolean check, CssProperty caller) throws InvalidParamException {
141+
protected static CssValue parseBorderSideColor(ApplContext ac, CssExpression expression,
142+
boolean check, CssProperty caller)
143+
throws InvalidParamException {
137144

138145
if (check && expression.getCount() > 1) {
139146
throw new InvalidParamException("unrecognize", ac);
@@ -142,15 +149,15 @@ protected static CssValue parseBorderSideColor(ApplContext ac, CssExpression exp
142149
CssValue retval = null;
143150
CssValue val = expression.getValue();
144151

145-
if (inherit.equals(val)) {
146-
retval = inherit;
152+
if ((val.getType() == CssTypes.CSS_IDENT) && CssIdent.isCssWide(val.getIdent())) {
153+
retval = val;
147154
} else {
148155
try {
149156
// we use the latest version of CssColor, aka CSS3
150157
CssColor tcolor = new CssColor(ac, expression, check);
151158
// instead of using getColor, we get the value directly
152159
// as we can have idents
153-
retval = tcolor.color;
160+
retval = tcolor.getValue();
154161
} catch (InvalidParamException e) {
155162
throw new InvalidParamException("value",
156163
val.toString(),

org/w3c/css/properties/css3/CssBorderImage.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,12 @@ public CssBorderImage(ApplContext ac, CssExpression expression,
8181
expression.next();
8282
break;
8383
case CssTypes.CSS_IDENT:
84-
if (inherit.equals(val)) {
84+
CssIdent id = val.getIdent();
85+
if (CssIdent.isCssWide(id)) {
8586
if (expression.getCount() > 1) {
8687
throw new InvalidParamException("unrecognize", ac);
8788
}
88-
value = inherit;
89+
value = val;
8990
// TODO force individual values as inherit
9091
expression.next();
9192
break;
@@ -94,7 +95,7 @@ public CssBorderImage(ApplContext ac, CssExpression expression,
9495
case 0:
9596
// state 0, we can only have slice or repeat or image
9697
// slice
97-
tval = CssBorderImageSlice.getMatchingIdent((CssIdent) val);
98+
tval = CssBorderImageSlice.getMatchingIdent(id);
9899
if (tval != null) {
99100
if (slice != null) {
100101
throw new InvalidParamException("value", val.toString(),
@@ -119,7 +120,7 @@ public CssBorderImage(ApplContext ac, CssExpression expression,
119120
break;
120121
}
121122
// TODO check for border-image! (none)
122-
if (CssBorderImageSource.isMatchingIdent((CssIdent) val)) {
123+
if (CssBorderImageSource.isMatchingIdent(id)) {
123124
if (source != null) {
124125
throw new InvalidParamException("value", val.toString(),
125126
getPropertyName(), ac);
@@ -132,7 +133,7 @@ public CssBorderImage(ApplContext ac, CssExpression expression,
132133
case 1:
133134
// it can be only width or repeat.
134135
// width
135-
tval = CssBorderImageWidth.getMatchingIdent((CssIdent) val);
136+
tval = CssBorderImageWidth.getMatchingIdent(id);
136137
if (tval != null) {
137138
if (width != null) {
138139
throw new InvalidParamException("value", val.toString(),
@@ -164,7 +165,7 @@ public CssBorderImage(ApplContext ac, CssExpression expression,
164165
break;
165166
}
166167
// TODO check for border-image! (none)
167-
if (CssBorderImageSource.isMatchingIdent((CssIdent) val)) {
168+
if (CssBorderImageSource.isMatchingIdent(id)) {
168169
if (source != null) {
169170
throw new InvalidParamException("value", val.toString(),
170171
getPropertyName(), ac);
@@ -318,7 +319,7 @@ private CssExpression getRepeatExpression(ApplContext ac, CssExpression expressi
318319
val = expression.getValue();
319320
op = expression.getOperator();
320321
if (val.getType() == CssTypes.CSS_IDENT) {
321-
tval = CssBorderImageRepeat.getMatchingIdent((CssIdent) val);
322+
tval = CssBorderImageRepeat.getMatchingIdent(val.getIdent());
322323
if (tval == null) {
323324
return null;
324325
}
@@ -334,9 +335,9 @@ private CssExpression getRepeatExpression(ApplContext ac, CssExpression expressi
334335
val = expression.getValue();
335336
op = expression.getOperator();
336337
if (val.getType() == CssTypes.CSS_IDENT) {
337-
tval = CssBorderImageRepeat.getMatchingIdent((CssIdent) val);
338+
tval = CssBorderImageRepeat.getMatchingIdent(val.getIdent());
338339
if (tval != null) {
339-
exp.addValue(tval);
340+
exp.addValue(val);
340341
expression.next();
341342
if (op != SPACE) {
342343
return exp;
@@ -363,7 +364,7 @@ private CssExpression getSliceExpression(ApplContext ac, CssExpression expressio
363364
exp.addValue(val);
364365
break;
365366
case CssTypes.CSS_IDENT:
366-
tval = CssBorderImageSlice.getMatchingIdent((CssIdent) val);
367+
tval = CssBorderImageSlice.getMatchingIdent(val.getIdent());
367368
if (tval == null) {
368369
return exp;
369370
}
@@ -397,7 +398,7 @@ private CssExpression getWidthExpression(ApplContext ac, CssExpression expressio
397398
exp.addValue(val);
398399
break;
399400
case CssTypes.CSS_IDENT:
400-
tval = CssBorderImageWidth.getMatchingIdent((CssIdent) val);
401+
tval = CssBorderImageWidth.getMatchingIdent(val.getIdent());
401402
if (tval == null) {
402403
return exp;
403404
}

org/w3c/css/properties/css3/CssBorderImageOutset.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77

88
import org.w3c.css.util.ApplContext;
99
import org.w3c.css.util.InvalidParamException;
10-
import org.w3c.css.values.CssCheckableValue;
1110
import org.w3c.css.values.CssExpression;
11+
import org.w3c.css.values.CssIdent;
1212
import org.w3c.css.values.CssTypes;
1313
import org.w3c.css.values.CssValue;
1414
import org.w3c.css.values.CssValueList;
1515

1616
import static org.w3c.css.values.CssOperator.SPACE;
1717

1818
/**
19-
* @spec http://www.w3.org/TR/2012/CR-css3-background-20120417/#border-image-outset
19+
* @spec https://www.w3.org/TR/2021/CRD-css-backgrounds-3-20210726/#propdef-border-image-outset
2020
*/
2121
public class CssBorderImageOutset extends org.w3c.css.properties.css.CssBorderImageOutset {
2222

@@ -51,16 +51,15 @@ public CssBorderImageOutset(ApplContext ac, CssExpression expression, boolean ch
5151
switch (val.getType()) {
5252
case CssTypes.CSS_NUMBER:
5353
case CssTypes.CSS_LENGTH:
54-
CssCheckableValue num = val.getCheckableValue();
55-
num.checkPositiveness(ac, this);
54+
val.getCheckableValue().checkPositiveness(ac, getPropertyName());
5655
valueList.add(val);
5756
break;
5857
case CssTypes.CSS_IDENT:
59-
if (inherit.equals(val)) {
58+
if (CssIdent.isCssWide(val.getIdent())) {
6059
if (expression.getCount() > 1) {
6160
throw new InvalidParamException("unrecognize", ac);
6261
}
63-
valueList.add(inherit);
62+
valueList.add(val);
6463
break;
6564
}
6665
// unrecognized ident, let it fail

0 commit comments

Comments
 (0)