From 39fdf66c3a2fb4033306ace1b7cbdaff0b63d882 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 15 Oct 2013 22:50:47 +0300 Subject: Handle numbers in the same way if they do not have a unit (#12732) Change-Id: Ic9dba337ffb209bf73ab427fa3a39e542e645c08 --- .../sass/internal/parser/LexicalUnitImpl.java | 26 +++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'theme-compiler/src') diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java b/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java index 498e1a941b..af94de0f46 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java @@ -148,6 +148,22 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit, return f; } + /** + * Returns the float value as a string unless the value is an integer. In + * that case returns the integer value as a string. + * + * @return a string representing the value, either with or without decimals + */ + public String getFloatOrInteger() { + float f = getFloatValue(); + int i = (int) f; + if ((i) == f) { + return i + ""; + } else { + return f + ""; + } + } + public void setFloatValue(float f) { this.f = f; i = (int) f; @@ -274,7 +290,7 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit, text = Integer.toString(getIntegerValue(), 10); break; case LexicalUnit.SAC_REAL: - text = getFloatValue() + ""; + text = getFloatOrInteger(); break; case LexicalUnit.SAC_EM: case SCSSLexicalUnit.SAC_LEM: @@ -295,13 +311,7 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit, case LexicalUnit.SAC_HERTZ: case LexicalUnit.SAC_KILOHERTZ: case LexicalUnit.SAC_DIMENSION: - float f = getFloatValue(); - int i = (int) f; - if ((i) == f) { - text = i + getDimensionUnitText(); - } else { - text = f + getDimensionUnitText(); - } + text = getFloatOrInteger() + getDimensionUnitText(); break; case LexicalUnit.SAC_URI: text = "url(" + getStringValue() + ")"; -- cgit v1.2.3 From 6f76840f6c9be57be0b23e22df2b968a1a876f67 Mon Sep 17 00:00:00 2001 From: joheriks Date: Thu, 17 Oct 2013 11:16:45 +0300 Subject: Sass variables can now start with underscore (#12716) Change-Id: I1c6cb12113f2462f96e8fcfc0749d3f62fd1998c --- .../src/com/vaadin/sass/internal/parser/Parser.jj | 2 +- .../sass/internal/parser/ParserTokenManager.java | 40 ++++++---------------- 2 files changed, 11 insertions(+), 31 deletions(-) (limited to 'theme-compiler/src') diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj index d563b739b0..871be2c4d0 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj @@ -559,7 +559,7 @@ TOKEN : /* basic tokens */ ( )? ( )? ( [ " ", "\t" , "\n" , "\r", "\f" ] )? > | < #ESCAPE : | ( "\\" [ " "-"~","\200"-"\377" ] ) > - | < #NMSTART : ("-")?[ "a"-"z"] | | > + | < #NMSTART : ("-")?[ "a"-"z","_"] | | > | < #NMCHAR : ["a"-"z", "0"-"9", "-", "_"] | | > | < #STRINGCHAR : [ "\t"," ","!","#","$","%","&","("-"~" ] | "\\\n" | "\\\r\n" | "\\\r" | "\\\f" diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java index bf4ebf5c06..224a8dbfc1 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java @@ -3259,7 +3259,7 @@ public class ParserTokenManager implements ParserConstants { } break; case 162: - if ((0x7fffffe07fffffeL & l) != 0L) { + if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 103) { kind = 103; } @@ -3310,10 +3310,10 @@ public class ParserTokenManager implements ParserConstants { } break; case 38: - if ((0x7fffffe07fffffeL & l) != 0L) { + if ((0x7fffffe87fffffeL & l) != 0L) { jjCheckNAddStates(0, 3); } - if ((0x7fffffe07fffffeL & l) != 0L) { + if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 72) { kind = 72; } @@ -3339,7 +3339,7 @@ public class ParserTokenManager implements ParserConstants { } break; case 24: - if ((0x7fffffe07fffffeL & l) != 0L) { + if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 72) { kind = 72; } @@ -3390,7 +3390,7 @@ public class ParserTokenManager implements ParserConstants { } break; case 174: - if ((0x7fffffe07fffffeL & l) != 0L) { + if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 103) { kind = 103; } @@ -3408,7 +3408,7 @@ public class ParserTokenManager implements ParserConstants { } break; case 75: - if ((0x7fffffe07fffffeL & l) != 0L) { + if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 76) { kind = 76; } @@ -3438,10 +3438,6 @@ public class ParserTokenManager implements ParserConstants { } break; case 4: - if ((0x7fffffe07fffffeL & l) != 0L) { - jjCheckNAddStates(138, 140); - } - break; case 5: if ((0x7fffffe87fffffeL & l) != 0L) { jjCheckNAddStates(138, 140); @@ -3671,14 +3667,6 @@ public class ParserTokenManager implements ParserConstants { } break; case 76: - if ((0x7fffffe07fffffeL & l) == 0L) { - break; - } - if (kind > 76) { - kind = 76; - } - jjCheckNAddTwoStates(77, 78); - break; case 77: if ((0x7fffffe87fffffeL & l) == 0L) { break; @@ -3898,7 +3886,7 @@ public class ParserTokenManager implements ParserConstants { } break; case 108: - if ((0x7fffffe07fffffeL & l) == 0L) { + if ((0x7fffffe87fffffeL & l) == 0L) { break; } if (kind > 103) { @@ -4586,7 +4574,7 @@ public class ParserTokenManager implements ParserConstants { } break; case 267: - if ((0x7fffffe07fffffeL & l) == 0L) { + if ((0x7fffffe87fffffeL & l) == 0L) { break; } if (kind > 72) { @@ -4595,12 +4583,12 @@ public class ParserTokenManager implements ParserConstants { jjCheckNAddTwoStates(225, 226); break; case 268: - if ((0x7fffffe07fffffeL & l) != 0L) { + if ((0x7fffffe87fffffeL & l) != 0L) { jjCheckNAddStates(0, 3); } break; case 269: - if ((0x7fffffe07fffffeL & l) == 0L) { + if ((0x7fffffe87fffffeL & l) == 0L) { break; } if (kind > 72) { @@ -4809,14 +4797,6 @@ public class ParserTokenManager implements ParserConstants { } break; case 333: - if ((0x7fffffe07fffffeL & l) == 0L) { - break; - } - if (kind > 95) { - kind = 95; - } - jjCheckNAddTwoStates(334, 335); - break; case 334: if ((0x7fffffe87fffffeL & l) == 0L) { break; -- cgit v1.2.3