Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
node-sass
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
楚学文
node-sass
Commits
c83420f6
Commit
c83420f6
authored
May 23, 2012
by
Aaron Leung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pushing the refactor through the builtin functions.
parent
6ff683eb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
43 additions
and
43 deletions
+43
-43
functions.cpp
functions.cpp
+0
-0
functions.hpp
functions.hpp
+33
-33
node.cpp
node.cpp
+1
-2
node.hpp
node.hpp
+9
-8
No files found.
functions.cpp
View file @
c83420f6
This diff is collapsed.
Click to expand it.
functions.hpp
View file @
c83420f6
...
...
@@ -8,7 +8,7 @@
namespace
Sass
{
using
std
::
map
;
typedef
Node
(
*
Implementation
)(
const
vector
<
Token
>&
,
map
<
Token
,
Node
>&
,
vector
<
vector
<
Node
>*>&
registry
);
typedef
Node
(
*
Implementation
)(
const
vector
<
Token
>&
,
map
<
Token
,
Node
>&
,
Node_Factory
&
new_Node
);
typedef
const
char
*
str
;
typedef
str
Function_Descriptor
[];
...
...
@@ -37,8 +37,8 @@ namespace Sass {
}
}
Node
operator
()(
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
)
const
{
return
implementation
(
parameters
,
bindings
,
registry
);
}
Node
operator
()(
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
)
const
{
return
implementation
(
parameters
,
bindings
,
new_Node
);
}
};
...
...
@@ -47,111 +47,111 @@ namespace Sass {
// RGB Functions ///////////////////////////////////////////////////////
extern
Function_Descriptor
rgb_descriptor
;
Node
rgb
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
rgb
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
rgba_4_descriptor
;
Node
rgba_4
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
rgba_4
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
rgba_2_descriptor
;
Node
rgba_2
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
rgba_2
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
red_descriptor
;
Node
red
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
red
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
green_descriptor
;
Node
green
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
green
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
blue_descriptor
;
Node
blue
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
blue
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
mix_2_descriptor
;
Node
mix_2
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
mix_2
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
mix_3_descriptor
;
Node
mix_3
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
mix_3
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
// HSL Functions ///////////////////////////////////////////////////////
extern
Function_Descriptor
hsla_descriptor
;
Node
hsla
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
hsla
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
hsl_descriptor
;
Node
hsl
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
hsl
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
invert_descriptor
;
Node
invert
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
invert
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
// Opacity Functions ///////////////////////////////////////////////////
extern
Function_Descriptor
alpha_descriptor
;
extern
Function_Descriptor
opacity_descriptor
;
Node
alpha
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
alpha
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
opacify_descriptor
;
extern
Function_Descriptor
fade_in_descriptor
;
Node
opacify
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
opacify
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
transparentize_descriptor
;
extern
Function_Descriptor
fade_out_descriptor
;
Node
transparentize
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
transparentize
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
// String Functions ////////////////////////////////////////////////////
extern
Function_Descriptor
unquote_descriptor
;
Node
unquote
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
unquote
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
quote_descriptor
;
Node
quote
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
quote
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
// Number Functions ////////////////////////////////////////////////////
extern
Function_Descriptor
percentage_descriptor
;
Node
percentage
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
percentage
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
round_descriptor
;
Node
round
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
round
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
ceil_descriptor
;
Node
ceil
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
ceil
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
floor_descriptor
;
Node
floor
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
floor
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
abs_descriptor
;
Node
abs
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
abs
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
// List Functions //////////////////////////////////////////////////////
extern
Function_Descriptor
length_descriptor
;
Node
length
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
length
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
nth_descriptor
;
Node
nth
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
nth
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
join_2_descriptor
;
Node
join_2
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
join_2
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
join_3_descriptor
;
Node
join_3
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
join_3
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
// Introspection Functions /////////////////////////////////////////////
extern
Function_Descriptor
type_of_descriptor
;
Node
type_of
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
type_of
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
unit_descriptor
;
Node
unit
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
unit
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
unitless_descriptor
;
Node
unitless
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
unitless
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
extern
Function_Descriptor
comparable_descriptor
;
Node
comparable
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
comparable
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
// Boolean Functions ///////////////////////////////////////////////////
extern
Function_Descriptor
not_descriptor
;
Node
not_impl
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
vector
<
vector
<
Node
>*>&
registry
);
Node
not_impl
(
const
vector
<
Token
>&
parameters
,
map
<
Token
,
Node
>&
bindings
,
Node_Factory
&
new_Node
);
}
...
...
node.cpp
View file @
c83420f6
...
...
@@ -213,7 +213,7 @@ namespace Sass {
// Node_Impl method implementations
// ------------------------------------------------------------------------
double
Node_Impl
::
numeric_value
()
double
&
Node_Impl
::
numeric_value
()
{
switch
(
type
)
{
...
...
@@ -226,7 +226,6 @@ namespace Sass {
break
;
// throw an exception?
}
return
0
;
}
extern
const
char
percent_str
[]
=
"%"
;
...
...
node.hpp
View file @
c83420f6
...
...
@@ -160,7 +160,7 @@ namespace Sass {
bool
has_backref
()
const
;
bool
from_variable
()
const
;
bool
&
should_eval
()
const
;
bool
is_unquoted
()
const
;
bool
&
is_unquoted
()
const
;
bool
is_numeric
()
const
;
string
&
path
()
const
;
...
...
@@ -178,7 +178,7 @@ namespace Sass {
Node
&
operator
+=
(
Node
n
);
bool
&
boolean_value
()
const
;
double
numeric_value
()
const
;
double
&
numeric_value
()
const
;
Token
token
()
const
;
Token
unit
()
const
;
...
...
@@ -272,7 +272,7 @@ namespace Sass {
bool
&
boolean_value
()
{
return
value
.
boolean
;
}
double
numeric_value
();
double
&
numeric_value
();
Token
unit
();
};
...
...
@@ -294,7 +294,7 @@ namespace Sass {
inline
bool
Node
::
has_backref
()
const
{
return
ip_
->
has_backref
;
}
inline
bool
Node
::
from_variable
()
const
{
return
ip_
->
from_variable
;
}
inline
bool
&
Node
::
should_eval
()
const
{
return
ip_
->
should_eval
;
}
inline
bool
Node
::
is_unquoted
()
const
{
return
ip_
->
is_unquoted
;
}
inline
bool
&
Node
::
is_unquoted
()
const
{
return
ip_
->
is_unquoted
;
}
inline
bool
Node
::
is_numeric
()
const
{
return
ip_
->
is_numeric
();
}
inline
string
&
Node
::
path
()
const
{
return
ip_
->
path
;
}
...
...
@@ -322,9 +322,9 @@ namespace Sass {
for
(
size_t
i
=
0
,
L
=
n
.
size
();
i
<
L
;
++
i
)
push_back
(
n
[
i
]);
return
*
this
;
}
inline
bool
&
Node
::
boolean_value
()
const
{
return
ip_
->
boolean_value
();
}
inline
double
Node
::
numeric_value
()
const
{
return
ip_
->
numeric_value
();
}
inline
Token
Node
::
token
()
const
{
return
ip_
->
value
.
token
;
}
inline
Token
Node
::
unit
()
const
{
return
ip_
->
unit
();
}
inline
bool
&
Node
::
boolean_value
()
const
{
return
ip_
->
boolean_value
();
}
inline
double
&
Node
::
numeric_value
()
const
{
return
ip_
->
numeric_value
();
}
inline
Token
Node
::
token
()
const
{
return
ip_
->
value
.
token
;
}
inline
Token
Node
::
unit
()
const
{
return
ip_
->
unit
();
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment