@@ -65,7 +65,6 @@ import org.w3c.css.values.CssAttr;
65
65
import org.w3c.css.values.CssBracket;
66
66
import org.w3c.css.values.CssCalc;
67
67
import org.w3c.css.values.CssCheckableValue;
68
- import org.w3c.css.values.CssClamp;
69
68
import org.w3c.css.values.CssColor;
70
69
import org.w3c.css.values.CssComparator;
71
70
import org.w3c.css.values.CssExpression;
@@ -76,8 +75,7 @@ import org.w3c.css.values.CssHashIdent;
76
75
import org.w3c.css.values.CssIdent;
77
76
import org.w3c.css.values.CssImage;
78
77
import org.w3c.css.values.CssLength;
79
- import org.w3c.css.values.CssMax;
80
- import org.w3c.css.values.CssMin;
78
+ import org.w3c.css.values.CssMathFunction;
81
79
import org.w3c.css.values.CssNumber;
82
80
import org.w3c.css.values.CssOperator;
83
81
import org.w3c.css.values.CssPercentage;
@@ -776,8 +774,8 @@ TOKEN [IGNORE_CASE] :
776
774
| <FUNCTIONNTHLASTOFTYPE : "nth-last-of-type(" >
777
775
| <FUNCTIONNOT : "not(" >
778
776
| <FUNCTIONCALC : "calc(" | "-moz-calc(" | "-webkit-calc(" >
779
- | <FUNCTIONMIN : "min(" >
780
- | <FUNCTIONMAX : "max (" >
777
+ | <FUNCTIONMATHN : "min(" | "max(" | "hypot(" >
778
+ | <FUNCTIONMATH1 : "sin(" | "cos (" | "tan(" | "asin(" | "acos(" | "atan(" | "sqrt(" | "log(" | "exp(" | "sign(" >
781
779
| <FUNCTIONCLAMP : "clamp(" >
782
780
| <FUNCTIONATTR : "attr(" >
783
781
| <FUNCTIONVAR : "var(" >
@@ -3169,8 +3167,7 @@ void term(CssExpression exp) :
3169
3167
)
3170
3168
)
3171
3169
| ( func=mathcalc() { setValue(func, exp, operator, null, FUNCTIONCALC); }
3172
- | func=mathmax() { setValue(func, exp, operator, null, FUNCTION); }
3173
- | func=mathmin() { setValue(func, exp, operator, null, FUNCTION); }
3170
+ | func=mathfunction() { setValue(func, exp, operator, null, FUNCTION); }
3174
3171
| func=mathclamp() { setValue(func, exp, operator, null, FUNCTION); }
3175
3172
| func=attr() { setValue(func, exp, operator, null, FUNCTION); }
3176
3173
| func=functionvar() { setValue(func, exp, operator, null, FUNCTIONVAR); }
@@ -3263,8 +3260,7 @@ void mediaterm(CssExpression exp) :
3263
3260
}
3264
3261
| ( func=function() { setValue(func, exp, operator, null, FUNCTION); }
3265
3262
| func=mathcalc() { setValue(func, exp, operator, null, FUNCTIONCALC); }
3266
- | func=mathmax() { setValue(func, exp, operator, null, FUNCTION); }
3267
- | func=mathmin() { setValue(func, exp, operator, null, FUNCTION); }
3263
+ | func=mathfunction() { setValue(func, exp, operator, null, FUNCTION); }
3268
3264
| func=mathclamp() { setValue(func, exp, operator, null, FUNCTION); }
3269
3265
) ) ( <S> )* )
3270
3266
| (( n=<STRING> { setValue(new CssString(), exp, operator, n, STRING); }
@@ -3303,41 +3299,19 @@ void mediaterm(CssExpression exp) :
3303
3299
) ( <S> )* )
3304
3300
}
3305
3301
3306
- CssCheckableValue mathmin () :
3302
+ CssCheckableValue mathfunction () :
3307
3303
{
3308
3304
CssCheckableValue v;
3309
- CssMin c;
3305
+ CssMathFunction c;
3310
3306
Token n;
3311
3307
}
3312
3308
{
3313
- ( n=<FUNCTIONMIN> ( <S> )* v=mathsum() {
3314
- if (v.getRawType() != CssTypes.CSS_MIN) {
3315
- c = new CssMin(v);
3316
- } else {
3317
- c = (CssMin) v;
3318
- }
3319
- }
3320
- ( <S> )* ( <COMMA> ( <S> )* v=mathsum() {
3321
- c.addValue(v);
3322
- } ( <S> )* )* <RPAREN> ) {
3323
- c.validate();
3324
- return c;
3325
- }
3326
- }
3327
-
3328
- CssCheckableValue mathmax() :
3329
- {
3330
- CssCheckableValue v;
3331
- CssMax c;
3332
- Token n;
3333
- }
3334
- {
3335
- ( n=<FUNCTIONMAX> ( <S> )* v=mathsum() {
3336
- if (v.getRawType() != CssTypes.CSS_MAX) {
3337
- c = new CssMax(v);
3338
- } else {
3339
- c = (CssMax) v;
3340
- }
3309
+ ( n=<FUNCTIONMATHN> ( <S> )* v=mathsum() {
3310
+ // if (v.getRawType() != CssTypes.CSS_MATH_FUNCTION) {
3311
+ c = new CssMathFunction(ac, n.image, v);
3312
+ // } else {
3313
+ // c = (CssMathFunction) v;
3314
+ // }
3341
3315
}
3342
3316
( <S> )* ( <COMMA> ( <S> )* v=mathsum() {
3343
3317
c.addValue(v);
@@ -3350,13 +3324,16 @@ CssCheckableValue mathmax() :
3350
3324
CssCheckableValue mathclamp() :
3351
3325
{
3352
3326
CssCheckableValue v1, v2, v3;
3353
- CssClamp c;
3354
- Token n;
3327
+ CssMathFunction c;
3328
+ Token n;
3355
3329
}
3356
3330
{
3357
3331
( n=<FUNCTIONCLAMP> ( <S> )* v1=mathsum() ( <S> )* <COMMA> ( <S> )* v2=mathsum() ( <S> )*
3358
3332
<COMMA> ( <S> )* v3=mathsum() ( <S> )* <RPAREN> ) {
3359
- c = new CssClamp(ac, v1, v2, v3);
3333
+ c = new CssMathFunction(ac, n.image);
3334
+ c.addValue(v1);
3335
+ c.addValue(v2);
3336
+ c.addValue(v3);
3360
3337
c.validate();
3361
3338
return c;
3362
3339
}
@@ -3558,8 +3535,7 @@ char operator = ' ';
3558
3535
)
3559
3536
| ( <LPAREN> ( <S> )* v=mathsum() ( <S> )* <RPAREN> ) { ((CssCalc) v).setParenthesis(); }
3560
3537
| v=mathcalc()
3561
- | v=mathmax()
3562
- | v=mathmin()
3538
+ | v=mathfunction()
3563
3539
| v=mathclamp()
3564
3540
| v=attr()
3565
3541
| v=functionvar()
@@ -3867,8 +3843,8 @@ String skip_to_matching_paren() {
3867
3843
case FUNCTIONNTHLASTOFTYPE:
3868
3844
case FUNCTIONNOT:
3869
3845
case FUNCTIONCALC:
3870
- case FUNCTIONMIN :
3871
- case FUNCTIONMAX :
3846
+ case FUNCTIONMATHN :
3847
+ case FUNCTIONMATH1 :
3872
3848
case FUNCTIONCLAMP:
3873
3849
case FUNCTIONATTR:
3874
3850
case FUNCTIONVAR:
0 commit comments