mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Compare commits
71 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4757da73f0 | ||
|
|
468fd425fc | ||
|
|
5604d658b2 | ||
|
|
37222d5622 | ||
|
|
ec38b54023 | ||
|
|
260e90401d | ||
|
|
8c66f0a5da | ||
|
|
78efc2d0de | ||
|
|
656c1e6ba6 | ||
|
|
65e932016b | ||
|
|
fc602b1d42 | ||
|
|
0e882900d7 | ||
|
|
28103ee25b | ||
|
|
0a0d2ddb1a | ||
|
|
3bf4cb721e | ||
|
|
ba1ab64b56 | ||
|
|
eb82e022ba | ||
|
|
753bfd1dc5 | ||
|
|
6b11655db8 | ||
|
|
d1ae098c08 | ||
|
|
e1a8b5db1d | ||
|
|
302cfea295 | ||
|
|
0946fecd82 | ||
|
|
9afdcddfc9 | ||
|
|
4d162f88bd | ||
|
|
2806987f2f | ||
|
|
f380aa2e5e | ||
|
|
a2ce1972ec | ||
|
|
aa8cf7e6bb | ||
|
|
ec61a6974f | ||
|
|
21e249bd2c | ||
|
|
8e550f7093 | ||
|
|
53e53880bd | ||
|
|
671b5788ed | ||
|
|
76d10cd85c | ||
|
|
42c155d667 | ||
|
|
d17222ec91 | ||
|
|
a1ea55d006 | ||
|
|
f32b7bb978 | ||
|
|
38aa7bae3f | ||
|
|
0021b9532b | ||
|
|
788fac7c43 | ||
|
|
71934152e4 | ||
|
|
e20d6fc04a | ||
|
|
a1e8fc4f97 | ||
|
|
9dc8a10e2a | ||
|
|
43a2da46f9 | ||
|
|
f95ca13073 | ||
|
|
b92b3af602 | ||
|
|
83b76cde34 | ||
|
|
5ff0d488d2 | ||
|
|
f89adf6e53 | ||
|
|
efd34d8cb0 | ||
|
|
3defb60fd7 | ||
|
|
869c9d2fdd | ||
|
|
912e465193 | ||
|
|
e7c1419390 | ||
|
|
b19cd037b7 | ||
|
|
42f7bc2160 | ||
|
|
542a0d79fd | ||
|
|
4b9b09f7bf | ||
|
|
57429f3194 | ||
|
|
9bdf890fd8 | ||
|
|
9240f30f28 | ||
|
|
ed23c6ef75 | ||
|
|
90b59876d0 | ||
|
|
6d2aa601cd | ||
|
|
1811465abb | ||
|
|
a4f187efd2 | ||
|
|
17f75e64ba | ||
|
|
0157b9eb37 |
15
.gitmodules
vendored
15
.gitmodules
vendored
@@ -133,9 +133,6 @@
|
|||||||
[submodule "vendor/grammars/fancy-tmbundle"]
|
[submodule "vendor/grammars/fancy-tmbundle"]
|
||||||
path = vendor/grammars/fancy-tmbundle
|
path = vendor/grammars/fancy-tmbundle
|
||||||
url = https://github.com/fancy-lang/fancy-tmbundle
|
url = https://github.com/fancy-lang/fancy-tmbundle
|
||||||
[submodule "vendor/grammars/fsharpbinding"]
|
|
||||||
path = vendor/grammars/fsharpbinding
|
|
||||||
url = https://github.com/fsharp/fsharpbinding
|
|
||||||
[submodule "vendor/grammars/monkey.tmbundle"]
|
[submodule "vendor/grammars/monkey.tmbundle"]
|
||||||
path = vendor/grammars/monkey.tmbundle
|
path = vendor/grammars/monkey.tmbundle
|
||||||
url = https://github.com/gingerbeardman/monkey.tmbundle
|
url = https://github.com/gingerbeardman/monkey.tmbundle
|
||||||
@@ -638,3 +635,15 @@
|
|||||||
[submodule "vendor/grammars/api-blueprint-sublime-plugin"]
|
[submodule "vendor/grammars/api-blueprint-sublime-plugin"]
|
||||||
path = vendor/grammars/api-blueprint-sublime-plugin
|
path = vendor/grammars/api-blueprint-sublime-plugin
|
||||||
url = https://github.com/apiaryio/api-blueprint-sublime-plugin
|
url = https://github.com/apiaryio/api-blueprint-sublime-plugin
|
||||||
|
[submodule "vendor/grammars/Handlebars"]
|
||||||
|
path = vendor/grammars/Handlebars
|
||||||
|
url = https://github.com/daaain/Handlebars
|
||||||
|
[submodule "vendor/grammars/smali-sublime"]
|
||||||
|
path = vendor/grammars/smali-sublime
|
||||||
|
url = https://github.com/ShaneWilton/sublime-smali
|
||||||
|
[submodule "vendor/grammars/language-jsoniq"]
|
||||||
|
path = vendor/grammars/language-jsoniq
|
||||||
|
url = http://github.com/wcandillon/language-jsoniq
|
||||||
|
[submodule "vendor/grammars/atom-fsharp"]
|
||||||
|
path = vendor/grammars/atom-fsharp
|
||||||
|
url = https://github.com/fsprojects/atom-fsharp
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Linguist supports a number of different custom overrides strategies for language
|
|||||||
|
|
||||||
### Using gitattributes
|
### Using gitattributes
|
||||||
|
|
||||||
Add a `.gitattributes` file to your project and use standard git-style path matchers for the files you want to override to set `linguist-documentation`, `linguist-language`, and `linguist-vendored`. `.gitattributes` will be used to determine language statistics, but will not be used to syntax highlight files. To manually set syntax highlighting, use [Vim or Emacs modelines](#using-emacs-and-vim-modelines).
|
Add a `.gitattributes` file to your project and use standard git-style path matchers for the files you want to override to set `linguist-documentation`, `linguist-language`, and `linguist-vendored`. `.gitattributes` will be used to determine language statistics, but will not be used to syntax highlight files. To manually set syntax highlighting, use [Vim or Emacs modelines](#using-emacs-or-vim-modelines).
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cat .gitattributes
|
$ cat .gitattributes
|
||||||
|
|||||||
12
grammars.yml
12
grammars.yml
@@ -50,6 +50,8 @@ vendor/grammars/G-Code/:
|
|||||||
- source.gcode
|
- source.gcode
|
||||||
vendor/grammars/GDScript-sublime/:
|
vendor/grammars/GDScript-sublime/:
|
||||||
- source.gdscript
|
- source.gdscript
|
||||||
|
vendor/grammars/Handlebars:
|
||||||
|
- text.html.handlebars
|
||||||
vendor/grammars/IDL-Syntax:
|
vendor/grammars/IDL-Syntax:
|
||||||
- source.webidl
|
- source.webidl
|
||||||
vendor/grammars/InnoSetup/:
|
vendor/grammars/InnoSetup/:
|
||||||
@@ -167,6 +169,8 @@ vendor/grammars/asp.tmbundle:
|
|||||||
vendor/grammars/assembly.tmbundle:
|
vendor/grammars/assembly.tmbundle:
|
||||||
- objdump.x86asm
|
- objdump.x86asm
|
||||||
- source.x86asm
|
- source.x86asm
|
||||||
|
vendor/grammars/atom-fsharp/:
|
||||||
|
- source.fsharp
|
||||||
vendor/grammars/atom-salt:
|
vendor/grammars/atom-salt:
|
||||||
- source.python.salt
|
- source.python.salt
|
||||||
- source.yaml.salt
|
- source.yaml.salt
|
||||||
@@ -213,6 +217,7 @@ vendor/grammars/d.tmbundle:
|
|||||||
vendor/grammars/dart-sublime-bundle:
|
vendor/grammars/dart-sublime-bundle:
|
||||||
- source.dart
|
- source.dart
|
||||||
- source.pubspec
|
- source.pubspec
|
||||||
|
- text.dart-analysis-output
|
||||||
- text.dart-doccomments
|
- text.dart-doccomments
|
||||||
vendor/grammars/desktop.tmbundle:
|
vendor/grammars/desktop.tmbundle:
|
||||||
- source.desktop
|
- source.desktop
|
||||||
@@ -245,8 +250,6 @@ vendor/grammars/fish-tmbundle:
|
|||||||
vendor/grammars/fortran.tmbundle:
|
vendor/grammars/fortran.tmbundle:
|
||||||
- source.fortran
|
- source.fortran
|
||||||
- source.fortran.modern
|
- source.fortran.modern
|
||||||
vendor/grammars/fsharpbinding:
|
|
||||||
- source.fsharp
|
|
||||||
vendor/grammars/gap-tmbundle/:
|
vendor/grammars/gap-tmbundle/:
|
||||||
- source.gap
|
- source.gap
|
||||||
vendor/grammars/gettext.tmbundle:
|
vendor/grammars/gettext.tmbundle:
|
||||||
@@ -318,6 +321,9 @@ vendor/grammars/language-hy:
|
|||||||
vendor/grammars/language-javascript:
|
vendor/grammars/language-javascript:
|
||||||
- source.js
|
- source.js
|
||||||
- source.js.regexp
|
- source.js.regexp
|
||||||
|
vendor/grammars/language-jsoniq/:
|
||||||
|
- source.jq
|
||||||
|
- source.xq
|
||||||
vendor/grammars/language-python:
|
vendor/grammars/language-python:
|
||||||
- source.python
|
- source.python
|
||||||
- source.regexp.python
|
- source.regexp.python
|
||||||
@@ -444,6 +450,8 @@ vendor/grammars/scheme.tmbundle:
|
|||||||
- source.scheme
|
- source.scheme
|
||||||
vendor/grammars/scilab.tmbundle:
|
vendor/grammars/scilab.tmbundle:
|
||||||
- source.scilab
|
- source.scilab
|
||||||
|
vendor/grammars/smali-sublime/smali.tmLanguage:
|
||||||
|
- source.smali
|
||||||
vendor/grammars/smalltalk-tmbundle:
|
vendor/grammars/smalltalk-tmbundle:
|
||||||
- source.smalltalk
|
- source.smalltalk
|
||||||
vendor/grammars/sql.tmbundle:
|
vendor/grammars/sql.tmbundle:
|
||||||
|
|||||||
@@ -65,8 +65,9 @@ module Linguist
|
|||||||
generated_net_docfile? ||
|
generated_net_docfile? ||
|
||||||
generated_postscript? ||
|
generated_postscript? ||
|
||||||
compiled_cython_file? ||
|
compiled_cython_file? ||
|
||||||
generated_protocol_buffer_go? ||
|
generated_go? ||
|
||||||
generated_protocol_buffer? ||
|
generated_protocol_buffer? ||
|
||||||
|
generated_apache_thrift? ||
|
||||||
generated_jni_header? ||
|
generated_jni_header? ||
|
||||||
generated_unity3d_meta? ||
|
generated_unity3d_meta? ||
|
||||||
vcr_cassette?
|
vcr_cassette?
|
||||||
@@ -180,11 +181,11 @@ module Linguist
|
|||||||
def generated_net_designer_file?
|
def generated_net_designer_file?
|
||||||
name.downcase =~ /\.designer\.cs$/
|
name.downcase =~ /\.designer\.cs$/
|
||||||
end
|
end
|
||||||
|
|
||||||
# Internal: Is this a codegen file for Specflow feature file?
|
# Internal: Is this a codegen file for Specflow feature file?
|
||||||
#
|
#
|
||||||
# Visual Studio's SpecFlow extension generates *.feature.cs files
|
# Visual Studio's SpecFlow extension generates *.feature.cs files
|
||||||
# from *.feature files, they are not meant to be consumed by humans.
|
# from *.feature files, they are not meant to be consumed by humans.
|
||||||
# Let's hide them.
|
# Let's hide them.
|
||||||
#
|
#
|
||||||
# Returns true or false
|
# Returns true or false
|
||||||
@@ -232,11 +233,11 @@ module Linguist
|
|||||||
creator.include?("ImageMagick")
|
creator.include?("ImageMagick")
|
||||||
end
|
end
|
||||||
|
|
||||||
def generated_protocol_buffer_go?
|
def generated_go?
|
||||||
return false unless extname == '.go'
|
return false unless extname == '.go'
|
||||||
return false unless lines.count > 1
|
return false unless lines.count > 1
|
||||||
|
|
||||||
return lines[0].include?("Code generated by protoc-gen-go")
|
return lines[0].include?("Code generated by")
|
||||||
end
|
end
|
||||||
|
|
||||||
# Internal: Is the blob a C++, Java or Python source file generated by the
|
# Internal: Is the blob a C++, Java or Python source file generated by the
|
||||||
@@ -250,6 +251,16 @@ module Linguist
|
|||||||
return lines[0].include?("Generated by the protocol buffer compiler. DO NOT EDIT!")
|
return lines[0].include?("Generated by the protocol buffer compiler. DO NOT EDIT!")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Internal: Is the blob generated by Apache Thrift compiler?
|
||||||
|
#
|
||||||
|
# Returns true or false
|
||||||
|
def generated_apache_thrift?
|
||||||
|
return false unless ['.rb', '.py', '.go', '.js', '.m', '.java', '.h', '.cc', '.cpp'].include?(extname)
|
||||||
|
return false unless lines.count > 1
|
||||||
|
|
||||||
|
return lines[0].include?("Autogenerated by Thrift Compiler") || lines[1].include?("Autogenerated by Thrift Compiler")
|
||||||
|
end
|
||||||
|
|
||||||
# Internal: Is the blob a C/C++ header generated by the Java JNI tool javah?
|
# Internal: Is the blob a C/C++ header generated by the Java JNI tool javah?
|
||||||
#
|
#
|
||||||
# Returns true of false.
|
# Returns true of false.
|
||||||
|
|||||||
@@ -283,11 +283,39 @@ module Linguist
|
|||||||
end
|
end
|
||||||
|
|
||||||
disambiguate "Rust", "RenderScript" do |data|
|
disambiguate "Rust", "RenderScript" do |data|
|
||||||
if data.include?("^(use |fn |mod |pub |macro_rules|impl|#!?\[)")
|
if /^(use |fn |mod |pub |macro_rules|impl|#!?\[)/.match(data)
|
||||||
Language["Rust"]
|
Language["Rust"]
|
||||||
elsif /#include|#pragma\s+(rs|version)|__attribute__/.match(data)
|
elsif /#include|#pragma\s+(rs|version)|__attribute__/.match(data)
|
||||||
Language["RenderScript"]
|
Language["RenderScript"]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
disambiguate "Common Lisp", "Lex", "Groff", "PicoLisp" do |data|
|
||||||
|
if /\(def(un|macro)\s/.match(data)
|
||||||
|
Language["Common Lisp"]
|
||||||
|
elsif /^(%[%{}]xs|<.*>)/.match(data)
|
||||||
|
Language["Lex"]
|
||||||
|
elsif /^\.[a-z][a-z](\s|$)/i.match(data)
|
||||||
|
Language["Groff"]
|
||||||
|
elsif /^\((de|class|rel|code|data|must)\s/.match(data)
|
||||||
|
Language["PicoLisp"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
disambiguate "Groff", "Nemerle" do |data|
|
||||||
|
if /^[.']/.match(data)
|
||||||
|
Language["Groff"]
|
||||||
|
elsif /^(module|namespace|using)\s/.match(data)
|
||||||
|
Language["Nemerle"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
disambiguate "GAS", "Groff" do |data|
|
||||||
|
if /^[.'][a-z][a-z](\s|$)/i.match(data)
|
||||||
|
Language["Groff"]
|
||||||
|
elsif /((^|\s)move?[. ])|\.(include|globa?l)\s/.match(data)
|
||||||
|
Language["GAS"]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ ApacheConf:
|
|||||||
- apache
|
- apache
|
||||||
extensions:
|
extensions:
|
||||||
- .apacheconf
|
- .apacheconf
|
||||||
|
- .vhost
|
||||||
tm_scope: source.apache-config
|
tm_scope: source.apache-config
|
||||||
ace_mode: apache_conf
|
ace_mode: apache_conf
|
||||||
|
|
||||||
@@ -295,9 +296,10 @@ Befunge:
|
|||||||
|
|
||||||
Bison:
|
Bison:
|
||||||
type: programming
|
type: programming
|
||||||
|
group: Yacc
|
||||||
tm_scope: source.bison
|
tm_scope: source.bison
|
||||||
extensions:
|
extensions:
|
||||||
- .y
|
- .bison
|
||||||
ace_mode: text
|
ace_mode: text
|
||||||
|
|
||||||
BitBake:
|
BitBake:
|
||||||
@@ -600,6 +602,7 @@ Common Lisp:
|
|||||||
- .lisp
|
- .lisp
|
||||||
- .asd
|
- .asd
|
||||||
- .cl
|
- .cl
|
||||||
|
- .l
|
||||||
- .lsp
|
- .lsp
|
||||||
- .ny
|
- .ny
|
||||||
- .podsl
|
- .podsl
|
||||||
@@ -1038,6 +1041,7 @@ GAS:
|
|||||||
group: Assembly
|
group: Assembly
|
||||||
extensions:
|
extensions:
|
||||||
- .s
|
- .s
|
||||||
|
- .ms
|
||||||
tm_scope: source.asm.x86
|
tm_scope: source.asm.x86
|
||||||
ace_mode: assembly_x86
|
ace_mode: assembly_x86
|
||||||
|
|
||||||
@@ -1206,12 +1210,26 @@ Groff:
|
|||||||
extensions:
|
extensions:
|
||||||
- .man
|
- .man
|
||||||
- '.1'
|
- '.1'
|
||||||
|
- .1in
|
||||||
|
- .1m
|
||||||
|
- .1x
|
||||||
- '.2'
|
- '.2'
|
||||||
- '.3'
|
- '.3'
|
||||||
|
- .3in
|
||||||
|
- .3m
|
||||||
|
- .3qt
|
||||||
|
- .3x
|
||||||
- '.4'
|
- '.4'
|
||||||
- '.5'
|
- '.5'
|
||||||
- '.6'
|
- '.6'
|
||||||
- '.7'
|
- '.7'
|
||||||
|
- '.8'
|
||||||
|
- '.9'
|
||||||
|
- .l
|
||||||
|
- .ms
|
||||||
|
- .n
|
||||||
|
- .rno
|
||||||
|
- .roff
|
||||||
tm_scope: text.groff
|
tm_scope: text.groff
|
||||||
aliases:
|
aliases:
|
||||||
- nroff
|
- nroff
|
||||||
@@ -1319,7 +1337,7 @@ Handlebars:
|
|||||||
extensions:
|
extensions:
|
||||||
- .handlebars
|
- .handlebars
|
||||||
- .hbs
|
- .hbs
|
||||||
tm_scope: none
|
tm_scope: text.html.handlebars
|
||||||
ace_mode: handlebars
|
ace_mode: handlebars
|
||||||
|
|
||||||
Harbour:
|
Harbour:
|
||||||
@@ -1468,6 +1486,7 @@ J:
|
|||||||
JFlex:
|
JFlex:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#DBCA00"
|
color: "#DBCA00"
|
||||||
|
group: Lex
|
||||||
extensions:
|
extensions:
|
||||||
- .flex
|
- .flex
|
||||||
- .jflex
|
- .jflex
|
||||||
@@ -1503,11 +1522,12 @@ JSONLD:
|
|||||||
tm_scope: source.js
|
tm_scope: source.js
|
||||||
|
|
||||||
JSONiq:
|
JSONiq:
|
||||||
|
color: "#40d47e"
|
||||||
type: programming
|
type: programming
|
||||||
ace_mode: jsoniq
|
ace_mode: jsoniq
|
||||||
extensions:
|
extensions:
|
||||||
- .jq
|
- .jq
|
||||||
tm_scope: source.xquery
|
tm_scope: source.jq
|
||||||
|
|
||||||
Jade:
|
Jade:
|
||||||
group: HTML
|
group: HTML
|
||||||
@@ -1703,6 +1723,17 @@ Less:
|
|||||||
tm_scope: source.css.less
|
tm_scope: source.css.less
|
||||||
ace_mode: less
|
ace_mode: less
|
||||||
|
|
||||||
|
Lex:
|
||||||
|
type: programming
|
||||||
|
color: "#DBCA00"
|
||||||
|
aliases:
|
||||||
|
- flex
|
||||||
|
extensions:
|
||||||
|
- .l
|
||||||
|
- .lex
|
||||||
|
tm_scope: none
|
||||||
|
ace_mode: text
|
||||||
|
|
||||||
LilyPond:
|
LilyPond:
|
||||||
type: programming
|
type: programming
|
||||||
extensions:
|
extensions:
|
||||||
@@ -1865,6 +1896,7 @@ Makefile:
|
|||||||
- .mk
|
- .mk
|
||||||
filenames:
|
filenames:
|
||||||
- GNUmakefile
|
- GNUmakefile
|
||||||
|
- Kbuild
|
||||||
- Makefile
|
- Makefile
|
||||||
- makefile
|
- makefile
|
||||||
interpreters:
|
interpreters:
|
||||||
@@ -2096,6 +2128,9 @@ Nginx:
|
|||||||
type: markup
|
type: markup
|
||||||
extensions:
|
extensions:
|
||||||
- .nginxconf
|
- .nginxconf
|
||||||
|
- .vhost
|
||||||
|
filenames:
|
||||||
|
- nginx.conf
|
||||||
tm_scope: source.nginx
|
tm_scope: source.nginx
|
||||||
aliases:
|
aliases:
|
||||||
- nginx configuration file
|
- nginx configuration file
|
||||||
@@ -2420,6 +2455,7 @@ Perl:
|
|||||||
color: "#0298c3"
|
color: "#0298c3"
|
||||||
extensions:
|
extensions:
|
||||||
- .pl
|
- .pl
|
||||||
|
- .al
|
||||||
- .cgi
|
- .cgi
|
||||||
- .fcgi
|
- .fcgi
|
||||||
- .perl
|
- .perl
|
||||||
@@ -2454,6 +2490,16 @@ Perl6:
|
|||||||
tm_scope: source.perl.6
|
tm_scope: source.perl.6
|
||||||
ace_mode: perl
|
ace_mode: perl
|
||||||
|
|
||||||
|
PicoLisp:
|
||||||
|
type: programming
|
||||||
|
extensions:
|
||||||
|
- .l
|
||||||
|
interpreters:
|
||||||
|
- picolisp
|
||||||
|
- pil
|
||||||
|
tm_scope: source.lisp
|
||||||
|
ace_mode: lisp
|
||||||
|
|
||||||
PigLatin:
|
PigLatin:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#fcd7de"
|
color: "#fcd7de"
|
||||||
@@ -2631,6 +2677,7 @@ QML:
|
|||||||
color: "#44a51c"
|
color: "#44a51c"
|
||||||
extensions:
|
extensions:
|
||||||
- .qml
|
- .qml
|
||||||
|
- .qbs
|
||||||
tm_scope: source.qml
|
tm_scope: source.qml
|
||||||
ace_mode: text
|
ace_mode: text
|
||||||
|
|
||||||
@@ -2828,6 +2875,8 @@ Ruby:
|
|||||||
- ruby
|
- ruby
|
||||||
- macruby
|
- macruby
|
||||||
- rake
|
- rake
|
||||||
|
- jruby
|
||||||
|
- rbx
|
||||||
filenames:
|
filenames:
|
||||||
- .pryrc
|
- .pryrc
|
||||||
- Appraisals
|
- Appraisals
|
||||||
@@ -3062,6 +3111,13 @@ Slim:
|
|||||||
- .slim
|
- .slim
|
||||||
ace_mode: text
|
ace_mode: text
|
||||||
|
|
||||||
|
Smali:
|
||||||
|
type: programming
|
||||||
|
extensions:
|
||||||
|
- .smali
|
||||||
|
ace_mode: text
|
||||||
|
tm_scope: source.smali
|
||||||
|
|
||||||
Smalltalk:
|
Smalltalk:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#596706"
|
color: "#596706"
|
||||||
@@ -3443,10 +3499,12 @@ XML:
|
|||||||
- .glade
|
- .glade
|
||||||
- .gml
|
- .gml
|
||||||
- .grxml
|
- .grxml
|
||||||
|
- .iml
|
||||||
- .ivy
|
- .ivy
|
||||||
- .jelly
|
- .jelly
|
||||||
- .kml
|
- .kml
|
||||||
- .launch
|
- .launch
|
||||||
|
- .mdpolicy
|
||||||
- .mm
|
- .mm
|
||||||
- .mxml
|
- .mxml
|
||||||
- .nproj
|
- .nproj
|
||||||
@@ -3521,6 +3579,7 @@ XQuery:
|
|||||||
- .xqm
|
- .xqm
|
||||||
- .xqy
|
- .xqy
|
||||||
ace_mode: xquery
|
ace_mode: xquery
|
||||||
|
tm_scope: source.xq
|
||||||
|
|
||||||
XS:
|
XS:
|
||||||
type: programming
|
type: programming
|
||||||
@@ -3569,6 +3628,15 @@ YAML:
|
|||||||
- .yaml
|
- .yaml
|
||||||
ace_mode: yaml
|
ace_mode: yaml
|
||||||
|
|
||||||
|
Yacc:
|
||||||
|
type: programming
|
||||||
|
extensions:
|
||||||
|
- .y
|
||||||
|
- .yacc
|
||||||
|
- .yy
|
||||||
|
tm_scope: source.bison
|
||||||
|
ace_mode: text
|
||||||
|
|
||||||
Zephir:
|
Zephir:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#118f9e"
|
color: "#118f9e"
|
||||||
|
|||||||
@@ -163,6 +163,9 @@
|
|||||||
|
|
||||||
## Obj-C ##
|
## Obj-C ##
|
||||||
|
|
||||||
|
# Carthage
|
||||||
|
- ^Carthage/
|
||||||
|
|
||||||
# Cocoapods
|
# Cocoapods
|
||||||
- ^Pods/
|
- ^Pods/
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
module Linguist
|
module Linguist
|
||||||
VERSION = "4.5.5"
|
VERSION = "4.5.6"
|
||||||
end
|
end
|
||||||
|
|||||||
17
samples/ApacheConf/apache.vhost
Normal file
17
samples/ApacheConf/apache.vhost
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#######################
|
||||||
|
# HOSTNAME
|
||||||
|
######################
|
||||||
|
|
||||||
|
<VirtualHost 127.0.0.1:PORT>
|
||||||
|
ServerAdmin patrick@heysparkbox.com
|
||||||
|
DocumentRoot "/var/www/HOSTNAME"
|
||||||
|
ServerName HOSTNAME
|
||||||
|
|
||||||
|
<Directory "/var/www/HOSTNAME">
|
||||||
|
Options Indexes MultiViews FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
DirectoryIndex index.php
|
||||||
|
</Directory>
|
||||||
|
</VirtualHost>
|
||||||
164
samples/Common Lisp/array.l
Normal file
164
samples/Common Lisp/array.l
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
;;; -*- Mode: Lisp; Package: LISP -*-
|
||||||
|
;;;
|
||||||
|
;;; This file is part of xyzzy.
|
||||||
|
;;;
|
||||||
|
|
||||||
|
(provide "array")
|
||||||
|
|
||||||
|
(in-package "lisp")
|
||||||
|
|
||||||
|
(export '(make-vector make-array vector array-dimensions array-in-bounds-p
|
||||||
|
upgraded-array-element-type adjust-array))
|
||||||
|
|
||||||
|
(defun upgraded-array-element-type (type)
|
||||||
|
(cond ((or (eq type 't)
|
||||||
|
(null type))
|
||||||
|
't)
|
||||||
|
((member type '(character base-character standard-char
|
||||||
|
extended-character) :test #'eq)
|
||||||
|
'character)
|
||||||
|
(t
|
||||||
|
(setq type (car (si:canonicalize-type type)))
|
||||||
|
(cond ((or (eq type 't)
|
||||||
|
(null type))
|
||||||
|
't)
|
||||||
|
((member type '(character base-character standard-char
|
||||||
|
extended-character) :test #'eq)
|
||||||
|
'character)
|
||||||
|
(t 't)))))
|
||||||
|
|
||||||
|
(defun check-array-initialize-option (ies-p ics-p displaced-to)
|
||||||
|
(let ((x 0))
|
||||||
|
(and ies-p (incf x))
|
||||||
|
(and ics-p (incf x))
|
||||||
|
(and displaced-to (incf x))
|
||||||
|
(when (> x 1)
|
||||||
|
(error ":initial-element, :initial-contents, :displaced-to"))))
|
||||||
|
|
||||||
|
(defun make-vector (length &key
|
||||||
|
(element-type t)
|
||||||
|
(initial-element nil ies-p)
|
||||||
|
(initial-contents nil ics-p)
|
||||||
|
fill-pointer
|
||||||
|
adjustable
|
||||||
|
displaced-to
|
||||||
|
(displaced-index-offset 0))
|
||||||
|
(setq element-type (upgraded-array-element-type element-type))
|
||||||
|
(check-array-initialize-option ies-p ics-p displaced-to)
|
||||||
|
(let ((vector (si:*make-vector length element-type initial-element adjustable
|
||||||
|
fill-pointer displaced-to displaced-index-offset)))
|
||||||
|
(when ics-p
|
||||||
|
(si:*copy-into-seq vector initial-contents))
|
||||||
|
vector))
|
||||||
|
|
||||||
|
(defun make-array (dimensions &rest rest
|
||||||
|
&key
|
||||||
|
(element-type t)
|
||||||
|
(initial-element nil ies-p)
|
||||||
|
(initial-contents nil ics-p)
|
||||||
|
fill-pointer
|
||||||
|
adjustable
|
||||||
|
displaced-to
|
||||||
|
(displaced-index-offset 0))
|
||||||
|
(cond ((integerp dimensions)
|
||||||
|
(apply #'make-vector dimensions rest))
|
||||||
|
((= (length dimensions) 1)
|
||||||
|
(apply #'make-vector (car dimensions) rest))
|
||||||
|
(t
|
||||||
|
(setq element-type (upgraded-array-element-type element-type))
|
||||||
|
(check-array-initialize-option ies-p ics-p displaced-to)
|
||||||
|
(when fill-pointer
|
||||||
|
(error ":fill-pointer"))
|
||||||
|
(let ((array (si:*make-array dimensions element-type
|
||||||
|
initial-element adjustable
|
||||||
|
displaced-to displaced-index-offset)))
|
||||||
|
(when ics-p
|
||||||
|
(let ((dims (make-list (array-rank array)
|
||||||
|
:initial-element 0))
|
||||||
|
(stack (list initial-contents))
|
||||||
|
(rank (1- (array-rank array))))
|
||||||
|
(dolist (x dims)
|
||||||
|
(push (elt (car stack) 0) stack))
|
||||||
|
(dotimes (i (array-total-size array))
|
||||||
|
(setf (row-major-aref array i) (car stack))
|
||||||
|
(do ((x dims (cdr x))
|
||||||
|
(j rank (1- j)))
|
||||||
|
((null x))
|
||||||
|
(pop stack)
|
||||||
|
(incf (car x))
|
||||||
|
(when (< (car x) (array-dimension array j))
|
||||||
|
(do ((r (- rank j) (1- r)))
|
||||||
|
((< r 0))
|
||||||
|
(push (elt (car stack) (nth r dims)) stack))
|
||||||
|
(return))
|
||||||
|
(setf (car x) 0)))))
|
||||||
|
array))))
|
||||||
|
|
||||||
|
(defun vector (&rest list)
|
||||||
|
(make-vector (length list) :element-type t :initial-contents list))
|
||||||
|
|
||||||
|
(defun array-dimensions (array)
|
||||||
|
(do ((i (1- (array-rank array)) (1- i))
|
||||||
|
(dims '()))
|
||||||
|
((minusp i) dims)
|
||||||
|
(push (array-dimension array i) dims)))
|
||||||
|
|
||||||
|
(defun array-in-bounds-p (array &rest subscripts)
|
||||||
|
(let ((r (array-rank array)))
|
||||||
|
(when (/= r (length subscripts))
|
||||||
|
(error "subscripts: ~S" subscripts))
|
||||||
|
(do ((i 0 (1+ i))
|
||||||
|
(s subscripts (cdr s)))
|
||||||
|
((= i r) t)
|
||||||
|
(unless (<= 0 (car s) (1- (array-dimension array i)))
|
||||||
|
(return nil)))))
|
||||||
|
|
||||||
|
(defun adjust-array (old-array
|
||||||
|
dimensions
|
||||||
|
&rest rest
|
||||||
|
&key
|
||||||
|
(element-type nil ets-p)
|
||||||
|
initial-element
|
||||||
|
(initial-contents nil ics-p)
|
||||||
|
(fill-pointer nil fps-p)
|
||||||
|
displaced-to
|
||||||
|
displaced-index-offset)
|
||||||
|
(when (/= (length dimensions) (array-rank old-array))
|
||||||
|
(error "?"))
|
||||||
|
(unless ets-p
|
||||||
|
(push (array-element-type old-array) rest)
|
||||||
|
(push :element-type rest))
|
||||||
|
(when (adjustable-array-p old-array)
|
||||||
|
(push t rest)
|
||||||
|
(push :adjustable rest))
|
||||||
|
(cond (fps-p
|
||||||
|
(unless (array-has-fill-pointer-p old-array)
|
||||||
|
(error "?")))
|
||||||
|
(t
|
||||||
|
(when (array-has-fill-pointer-p old-array)
|
||||||
|
(push (fill-pointer old-array) rest)
|
||||||
|
(push :fill-pointer rest))))
|
||||||
|
(when (eq old-array displaced-to)
|
||||||
|
(error "?"))
|
||||||
|
(let ((new-array (apply #'make-array dimensions rest)))
|
||||||
|
(or ics-p displaced-to
|
||||||
|
(copy-array-partially old-array new-array))
|
||||||
|
(cond ((adjustable-array-p old-array)
|
||||||
|
(si:*replace-array old-array new-array)
|
||||||
|
old-array)
|
||||||
|
(t
|
||||||
|
new-array))))
|
||||||
|
|
||||||
|
(defun copy-array-partially (src dst)
|
||||||
|
(let* ((dims (mapcar #'min (array-dimensions src) (array-dimensions dst)))
|
||||||
|
(r (array-rank src))
|
||||||
|
(s (make-list r :initial-element 0)))
|
||||||
|
(setq r (1- r))
|
||||||
|
(dotimes (x (apply #'* dims))
|
||||||
|
(setf (apply #'aref dst s) (apply #'aref src s))
|
||||||
|
(do ((i r (1- i)))
|
||||||
|
((minusp i))
|
||||||
|
(incf (nth i s))
|
||||||
|
(when (< (nth i s) (nth i dims))
|
||||||
|
(return))
|
||||||
|
(setf (nth i s) 0)))))
|
||||||
1201
samples/Common Lisp/common.l
Normal file
1201
samples/Common Lisp/common.l
Normal file
File diff suppressed because it is too large
Load Diff
91
samples/GAS/hello.ms
Normal file
91
samples/GAS/hello.ms
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# output(): Hello, world.\n
|
||||||
|
# mach(): all
|
||||||
|
|
||||||
|
# Emit hello world while switching back and forth between arm/thumb.
|
||||||
|
# ??? Unfinished
|
||||||
|
|
||||||
|
.macro invalid
|
||||||
|
# This is "undefined" but it's not properly decoded yet.
|
||||||
|
.word 0x07ffffff
|
||||||
|
# This is stc which isn't recognized yet.
|
||||||
|
stc 0,cr0,[r0]
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.global _start
|
||||||
|
_start:
|
||||||
|
# Run some simple insns to confirm the engine is at least working.
|
||||||
|
nop
|
||||||
|
|
||||||
|
# Skip over output text.
|
||||||
|
|
||||||
|
bl skip_output
|
||||||
|
|
||||||
|
hello_text:
|
||||||
|
.asciz "Hello, world.\n"
|
||||||
|
|
||||||
|
.p2align 2
|
||||||
|
skip_output:
|
||||||
|
|
||||||
|
# Prime loop.
|
||||||
|
|
||||||
|
mov r4, r14
|
||||||
|
|
||||||
|
output_next:
|
||||||
|
|
||||||
|
# Switch arm->thumb to output next chacter.
|
||||||
|
# At this point r4 must point to the next character to output.
|
||||||
|
|
||||||
|
adr r0, into_thumb + 1
|
||||||
|
bx r0
|
||||||
|
|
||||||
|
into_thumb:
|
||||||
|
.thumb
|
||||||
|
|
||||||
|
# Output a character.
|
||||||
|
|
||||||
|
mov r0,#3 @ writec angel call
|
||||||
|
mov r1,r4
|
||||||
|
swi 0xab @ ??? Confirm number.
|
||||||
|
|
||||||
|
# Switch thumb->arm.
|
||||||
|
|
||||||
|
adr r5, back_to_arm
|
||||||
|
bx r5
|
||||||
|
|
||||||
|
.p2align 2
|
||||||
|
back_to_arm:
|
||||||
|
.arm
|
||||||
|
|
||||||
|
# Load next character, see if done.
|
||||||
|
|
||||||
|
add r4,r4,#1
|
||||||
|
sub r3,r3,r3
|
||||||
|
ldrb r5,[r4,r3]
|
||||||
|
teq r5,#0
|
||||||
|
beq done
|
||||||
|
|
||||||
|
# Output a character (in arm mode).
|
||||||
|
|
||||||
|
mov r0,#3
|
||||||
|
mov r1,r4
|
||||||
|
swi #0x123456
|
||||||
|
|
||||||
|
# Load next character, see if done.
|
||||||
|
|
||||||
|
add r4,r4,#1
|
||||||
|
sub r3,r3,r3
|
||||||
|
ldrb r5,[r4,r3]
|
||||||
|
teq r5,#0
|
||||||
|
bne output_next
|
||||||
|
|
||||||
|
done:
|
||||||
|
mov r0,#0x18
|
||||||
|
ldr r1,exit_code
|
||||||
|
swi #0x123456
|
||||||
|
|
||||||
|
# If that fails, try to die with an invalid insn.
|
||||||
|
|
||||||
|
invalid
|
||||||
|
|
||||||
|
exit_code:
|
||||||
|
.word 0x20026
|
||||||
852
samples/Go/embedded.go
Normal file
852
samples/Go/embedded.go
Normal file
File diff suppressed because one or more lines are too long
18
samples/Go/gen-go-linguist-thrift.go
Normal file
18
samples/Go/gen-go-linguist-thrift.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||||
|
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||||
|
|
||||||
|
package linguist
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
"git.apache.org/thrift.git/lib/go/thrift"
|
||||||
|
)
|
||||||
|
|
||||||
|
// (needed to ensure safety because of naive import list construction.)
|
||||||
|
var _ = thrift.ZERO
|
||||||
|
var _ = fmt.Printf
|
||||||
|
var _ = bytes.Equal
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
}
|
||||||
275
samples/Groff/Tcl.n
Normal file
275
samples/Groff/Tcl.n
Normal file
@@ -0,0 +1,275 @@
|
|||||||
|
'\"
|
||||||
|
'\" Copyright (c) 1993 The Regents of the University of California.
|
||||||
|
'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
|
||||||
|
'\"
|
||||||
|
'\" See the file "license.terms" for information on usage and redistribution
|
||||||
|
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
|
'\"
|
||||||
|
.TH Tcl n "8.6" Tcl "Tcl Built-In Commands"
|
||||||
|
.so man.macros
|
||||||
|
.BS
|
||||||
|
.SH NAME
|
||||||
|
Tcl \- Tool Command Language
|
||||||
|
.SH SYNOPSIS
|
||||||
|
Summary of Tcl language syntax.
|
||||||
|
.BE
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.PP
|
||||||
|
The following rules define the syntax and semantics of the Tcl language:
|
||||||
|
.IP "[1] \fBCommands.\fR"
|
||||||
|
A Tcl script is a string containing one or more commands.
|
||||||
|
Semi-colons and newlines are command separators unless quoted as
|
||||||
|
described below.
|
||||||
|
Close brackets are command terminators during command substitution
|
||||||
|
(see below) unless quoted.
|
||||||
|
.IP "[2] \fBEvaluation.\fR"
|
||||||
|
A command is evaluated in two steps.
|
||||||
|
First, the Tcl interpreter breaks the command into \fIwords\fR
|
||||||
|
and performs substitutions as described below.
|
||||||
|
These substitutions are performed in the same way for all
|
||||||
|
commands.
|
||||||
|
Secondly, the first word is used to locate a command procedure to
|
||||||
|
carry out the command, then all of the words of the command are
|
||||||
|
passed to the command procedure.
|
||||||
|
The command procedure is free to interpret each of its words
|
||||||
|
in any way it likes, such as an integer, variable name, list,
|
||||||
|
or Tcl script.
|
||||||
|
Different commands interpret their words differently.
|
||||||
|
.IP "[3] \fBWords.\fR"
|
||||||
|
Words of a command are separated by white space (except for
|
||||||
|
newlines, which are command separators).
|
||||||
|
.IP "[4] \fBDouble quotes.\fR"
|
||||||
|
If the first character of a word is double-quote
|
||||||
|
.PQ \N'34'
|
||||||
|
then the word is terminated by the next double-quote character.
|
||||||
|
If semi-colons, close brackets, or white space characters
|
||||||
|
(including newlines) appear between the quotes then they are treated
|
||||||
|
as ordinary characters and included in the word.
|
||||||
|
Command substitution, variable substitution, and backslash substitution
|
||||||
|
are performed on the characters between the quotes as described below.
|
||||||
|
The double-quotes are not retained as part of the word.
|
||||||
|
.IP "[5] \fBArgument expansion.\fR"
|
||||||
|
If a word starts with the string
|
||||||
|
.QW {*}
|
||||||
|
followed by a non-whitespace character, then the leading
|
||||||
|
.QW {*}
|
||||||
|
is removed and the rest of the word is parsed and substituted as any other
|
||||||
|
word. After substitution, the word is parsed as a list (without command or
|
||||||
|
variable substitutions; backslash substitutions are performed as is normal for
|
||||||
|
a list and individual internal words may be surrounded by either braces or
|
||||||
|
double-quote characters), and its words are added to the command being
|
||||||
|
substituted. For instance,
|
||||||
|
.QW "cmd a {*}{b [c]} d {*}{$e f {g h}}"
|
||||||
|
is equivalent to
|
||||||
|
.QW "cmd a b {[c]} d {$e} f {g h}" .
|
||||||
|
.IP "[6] \fBBraces.\fR"
|
||||||
|
If the first character of a word is an open brace
|
||||||
|
.PQ {
|
||||||
|
and rule [5] does not apply, then
|
||||||
|
the word is terminated by the matching close brace
|
||||||
|
.PQ } "" .
|
||||||
|
Braces nest within the word: for each additional open
|
||||||
|
brace there must be an additional close brace (however,
|
||||||
|
if an open brace or close brace within the word is
|
||||||
|
quoted with a backslash then it is not counted in locating the
|
||||||
|
matching close brace).
|
||||||
|
No substitutions are performed on the characters between the
|
||||||
|
braces except for backslash-newline substitutions described
|
||||||
|
below, nor do semi-colons, newlines, close brackets,
|
||||||
|
or white space receive any special interpretation.
|
||||||
|
The word will consist of exactly the characters between the
|
||||||
|
outer braces, not including the braces themselves.
|
||||||
|
.IP "[7] \fBCommand substitution.\fR"
|
||||||
|
If a word contains an open bracket
|
||||||
|
.PQ [
|
||||||
|
then Tcl performs \fIcommand substitution\fR.
|
||||||
|
To do this it invokes the Tcl interpreter recursively to process
|
||||||
|
the characters following the open bracket as a Tcl script.
|
||||||
|
The script may contain any number of commands and must be terminated
|
||||||
|
by a close bracket
|
||||||
|
.PQ ] "" .
|
||||||
|
The result of the script (i.e. the result of its last command) is
|
||||||
|
substituted into the word in place of the brackets and all of the
|
||||||
|
characters between them.
|
||||||
|
There may be any number of command substitutions in a single word.
|
||||||
|
Command substitution is not performed on words enclosed in braces.
|
||||||
|
.IP "[8] \fBVariable substitution.\fR"
|
||||||
|
If a word contains a dollar-sign
|
||||||
|
.PQ $
|
||||||
|
followed by one of the forms
|
||||||
|
described below, then Tcl performs \fIvariable
|
||||||
|
substitution\fR: the dollar-sign and the following characters are
|
||||||
|
replaced in the word by the value of a variable.
|
||||||
|
Variable substitution may take any of the following forms:
|
||||||
|
.RS
|
||||||
|
.TP 15
|
||||||
|
\fB$\fIname\fR
|
||||||
|
.
|
||||||
|
\fIName\fR is the name of a scalar variable; the name is a sequence
|
||||||
|
of one or more characters that are a letter, digit, underscore,
|
||||||
|
or namespace separators (two or more colons).
|
||||||
|
Letters and digits are \fIonly\fR the standard ASCII ones (\fB0\fR\(en\fB9\fR,
|
||||||
|
\fBA\fR\(en\fBZ\fR and \fBa\fR\(en\fBz\fR).
|
||||||
|
.TP 15
|
||||||
|
\fB$\fIname\fB(\fIindex\fB)\fR
|
||||||
|
.
|
||||||
|
\fIName\fR gives the name of an array variable and \fIindex\fR gives
|
||||||
|
the name of an element within that array.
|
||||||
|
\fIName\fR must contain only letters, digits, underscores, and
|
||||||
|
namespace separators, and may be an empty string.
|
||||||
|
Letters and digits are \fIonly\fR the standard ASCII ones (\fB0\fR\(en\fB9\fR,
|
||||||
|
\fBA\fR\(en\fBZ\fR and \fBa\fR\(en\fBz\fR).
|
||||||
|
Command substitutions, variable substitutions, and backslash
|
||||||
|
substitutions are performed on the characters of \fIindex\fR.
|
||||||
|
.TP 15
|
||||||
|
\fB${\fIname\fB}\fR
|
||||||
|
.
|
||||||
|
\fIName\fR is the name of a scalar variable or array element. It may contain
|
||||||
|
any characters whatsoever except for close braces. It indicates an array
|
||||||
|
element if \fIname\fR is in the form
|
||||||
|
.QW \fIarrayName\fB(\fIindex\fB)\fR
|
||||||
|
where \fIarrayName\fR does not contain any open parenthesis characters,
|
||||||
|
.QW \fB(\fR ,
|
||||||
|
or close brace characters,
|
||||||
|
.QW \fB}\fR ,
|
||||||
|
and \fIindex\fR can be any sequence of characters except for close brace
|
||||||
|
characters. No further
|
||||||
|
substitutions are performed during the parsing of \fIname\fR.
|
||||||
|
.PP
|
||||||
|
There may be any number of variable substitutions in a single word.
|
||||||
|
Variable substitution is not performed on words enclosed in braces.
|
||||||
|
.PP
|
||||||
|
Note that variables may contain character sequences other than those listed
|
||||||
|
above, but in that case other mechanisms must be used to access them (e.g.,
|
||||||
|
via the \fBset\fR command's single-argument form).
|
||||||
|
.RE
|
||||||
|
.IP "[9] \fBBackslash substitution.\fR"
|
||||||
|
If a backslash
|
||||||
|
.PQ \e
|
||||||
|
appears within a word then \fIbackslash substitution\fR occurs.
|
||||||
|
In all cases but those described below the backslash is dropped and
|
||||||
|
the following character is treated as an ordinary
|
||||||
|
character and included in the word.
|
||||||
|
This allows characters such as double quotes, close brackets,
|
||||||
|
and dollar signs to be included in words without triggering
|
||||||
|
special processing.
|
||||||
|
The following table lists the backslash sequences that are
|
||||||
|
handled specially, along with the value that replaces each sequence.
|
||||||
|
.RS
|
||||||
|
.TP 7
|
||||||
|
\e\fBa\fR
|
||||||
|
Audible alert (bell) (Unicode U+000007).
|
||||||
|
.TP 7
|
||||||
|
\e\fBb\fR
|
||||||
|
Backspace (Unicode U+000008).
|
||||||
|
.TP 7
|
||||||
|
\e\fBf\fR
|
||||||
|
Form feed (Unicode U+00000C).
|
||||||
|
.TP 7
|
||||||
|
\e\fBn\fR
|
||||||
|
Newline (Unicode U+00000A).
|
||||||
|
.TP 7
|
||||||
|
\e\fBr\fR
|
||||||
|
Carriage-return (Unicode U+00000D).
|
||||||
|
.TP 7
|
||||||
|
\e\fBt\fR
|
||||||
|
Tab (Unicode U+000009).
|
||||||
|
.TP 7
|
||||||
|
\e\fBv\fR
|
||||||
|
Vertical tab (Unicode U+00000B).
|
||||||
|
.TP 7
|
||||||
|
\e\fB<newline>\fIwhiteSpace\fR
|
||||||
|
.
|
||||||
|
A single space character replaces the backslash, newline, and all spaces
|
||||||
|
and tabs after the newline. This backslash sequence is unique in that it
|
||||||
|
is replaced in a separate pre-pass before the command is actually parsed.
|
||||||
|
This means that it will be replaced even when it occurs between braces,
|
||||||
|
and the resulting space will be treated as a word separator if it is not
|
||||||
|
in braces or quotes.
|
||||||
|
.TP 7
|
||||||
|
\e\e
|
||||||
|
Backslash
|
||||||
|
.PQ \e "" .
|
||||||
|
.TP 7
|
||||||
|
\e\fIooo\fR
|
||||||
|
.
|
||||||
|
The digits \fIooo\fR (one, two, or three of them) give a eight-bit octal
|
||||||
|
value for the Unicode character that will be inserted, in the range
|
||||||
|
\fI000\fR\(en\fI377\fR (i.e., the range U+000000\(enU+0000FF).
|
||||||
|
The parser will stop just before this range overflows, or when
|
||||||
|
the maximum of three digits is reached. The upper bits of the Unicode
|
||||||
|
character will be 0.
|
||||||
|
.TP 7
|
||||||
|
\e\fBx\fIhh\fR
|
||||||
|
.
|
||||||
|
The hexadecimal digits \fIhh\fR (one or two of them) give an eight-bit
|
||||||
|
hexadecimal value for the Unicode character that will be inserted. The upper
|
||||||
|
bits of the Unicode character will be 0 (i.e., the character will be in the
|
||||||
|
range U+000000\(enU+0000FF).
|
||||||
|
.TP 7
|
||||||
|
\e\fBu\fIhhhh\fR
|
||||||
|
.
|
||||||
|
The hexadecimal digits \fIhhhh\fR (one, two, three, or four of them) give a
|
||||||
|
sixteen-bit hexadecimal value for the Unicode character that will be
|
||||||
|
inserted. The upper bits of the Unicode character will be 0 (i.e., the
|
||||||
|
character will be in the range U+000000\(enU+00FFFF).
|
||||||
|
.TP 7
|
||||||
|
\e\fBU\fIhhhhhhhh\fR
|
||||||
|
.
|
||||||
|
The hexadecimal digits \fIhhhhhhhh\fR (one up to eight of them) give a
|
||||||
|
twenty-one-bit hexadecimal value for the Unicode character that will be
|
||||||
|
inserted, in the range U+000000\(enU+10FFFF. The parser will stop just
|
||||||
|
before this range overflows, or when the maximum of eight digits
|
||||||
|
is reached. The upper bits of the Unicode character will be 0.
|
||||||
|
.RS
|
||||||
|
.PP
|
||||||
|
The range U+010000\(enU+10FFFD is reserved for the future.
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
Backslash substitution is not performed on words enclosed in braces,
|
||||||
|
except for backslash-newline as described above.
|
||||||
|
.RE
|
||||||
|
.IP "[10] \fBComments.\fR"
|
||||||
|
If a hash character
|
||||||
|
.PQ #
|
||||||
|
appears at a point where Tcl is
|
||||||
|
expecting the first character of the first word of a command,
|
||||||
|
then the hash character and the characters that follow it, up
|
||||||
|
through the next newline, are treated as a comment and ignored.
|
||||||
|
The comment character only has significance when it appears
|
||||||
|
at the beginning of a command.
|
||||||
|
.IP "[11] \fBOrder of substitution.\fR"
|
||||||
|
Each character is processed exactly once by the Tcl interpreter
|
||||||
|
as part of creating the words of a command.
|
||||||
|
For example, if variable substitution occurs then no further
|
||||||
|
substitutions are performed on the value of the variable; the
|
||||||
|
value is inserted into the word verbatim.
|
||||||
|
If command substitution occurs then the nested command is
|
||||||
|
processed entirely by the recursive call to the Tcl interpreter;
|
||||||
|
no substitutions are performed before making the recursive
|
||||||
|
call and no additional substitutions are performed on the result
|
||||||
|
of the nested script.
|
||||||
|
.RS
|
||||||
|
.PP
|
||||||
|
Substitutions take place from left to right, and each substitution is
|
||||||
|
evaluated completely before attempting to evaluate the next. Thus, a
|
||||||
|
sequence like
|
||||||
|
.PP
|
||||||
|
.CS
|
||||||
|
set y [set x 0][incr x][incr x]
|
||||||
|
.CE
|
||||||
|
.PP
|
||||||
|
will always set the variable \fIy\fR to the value, \fI012\fR.
|
||||||
|
.RE
|
||||||
|
.IP "[12] \fBSubstitution and word boundaries.\fR"
|
||||||
|
Substitutions do not affect the word boundaries of a command,
|
||||||
|
except for argument expansion as specified in rule [5].
|
||||||
|
For example, during variable substitution the entire value of
|
||||||
|
the variable becomes part of a single word, even if the variable's
|
||||||
|
value contains spaces.
|
||||||
|
.SH KEYWORDS
|
||||||
|
backslash, command, comment, script, substitution, variable
|
||||||
|
'\" Local Variables:
|
||||||
|
'\" mode: nroff
|
||||||
|
'\" fill-column: 78
|
||||||
|
'\" End:
|
||||||
135
samples/Groff/create_view.l
Normal file
135
samples/Groff/create_view.l
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
.\\" auto-generated by docbook2man-spec $Revision: 1.1.1.1 $
|
||||||
|
.TH "CREATE VIEW" "" "2005-11-05" "SQL - Language Statements" "SQL Commands"
|
||||||
|
.SH NAME
|
||||||
|
CREATE VIEW \- define a new view
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.sp
|
||||||
|
.nf
|
||||||
|
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW \fIname\fR [ ( \fIcolumn_name\fR [, ...] ) ]
|
||||||
|
AS \fIquery\fR
|
||||||
|
.sp
|
||||||
|
.fi
|
||||||
|
.SH "DESCRIPTION"
|
||||||
|
.PP
|
||||||
|
\fBCREATE VIEW\fR defines a view of a query. The view
|
||||||
|
is not physically materialized. Instead, the query is run every time
|
||||||
|
the view is referenced in a query.
|
||||||
|
.PP
|
||||||
|
\fBCREATE OR REPLACE VIEW\fR is similar, but if a view
|
||||||
|
of the same name already exists, it is replaced. You can only replace
|
||||||
|
a view with a new query that generates the identical set of columns
|
||||||
|
(i.e., same column names and data types).
|
||||||
|
.PP
|
||||||
|
If a schema name is given (for example, CREATE VIEW
|
||||||
|
myschema.myview ...) then the view is created in the specified
|
||||||
|
schema. Otherwise it is created in the current schema. Temporary
|
||||||
|
views exist in a special schema, so a schema name may not be given
|
||||||
|
when creating a temporary view. The name of the view must be
|
||||||
|
distinct from the name of any other view, table, sequence, or index
|
||||||
|
in the same schema.
|
||||||
|
.SH "PARAMETERS"
|
||||||
|
.TP
|
||||||
|
\fBTEMPORARY or TEMP\fR
|
||||||
|
If specified, the view is created as a temporary view.
|
||||||
|
Temporary views are automatically dropped at the end of the
|
||||||
|
current session. Existing
|
||||||
|
permanent relations with the same name are not visible to the
|
||||||
|
current session while the temporary view exists, unless they are
|
||||||
|
referenced with schema-qualified names.
|
||||||
|
|
||||||
|
If any of the tables referenced by the view are temporary,
|
||||||
|
the view is created as a temporary view (whether
|
||||||
|
TEMPORARY is specified or not).
|
||||||
|
.TP
|
||||||
|
\fB\fIname\fB\fR
|
||||||
|
The name (optionally schema-qualified) of a view to be created.
|
||||||
|
.TP
|
||||||
|
\fB\fIcolumn_name\fB\fR
|
||||||
|
An optional list of names to be used for columns of the view.
|
||||||
|
If not given, the column names are deduced from the query.
|
||||||
|
.TP
|
||||||
|
\fB\fIquery\fB\fR
|
||||||
|
A query (that is, a \fBSELECT\fR statement) which will
|
||||||
|
provide the columns and rows of the view.
|
||||||
|
|
||||||
|
Refer to SELECT [\fBselect\fR(l)]
|
||||||
|
for more information about valid queries.
|
||||||
|
.SH "NOTES"
|
||||||
|
.PP
|
||||||
|
Currently, views are read only: the system will not allow an insert,
|
||||||
|
update, or delete on a view. You can get the effect of an updatable
|
||||||
|
view by creating rules that rewrite inserts, etc. on the view into
|
||||||
|
appropriate actions on other tables. For more information see
|
||||||
|
CREATE RULE [\fBcreate_rule\fR(l)].
|
||||||
|
.PP
|
||||||
|
Use the DROP VIEW [\fBdrop_view\fR(l)]
|
||||||
|
statement to drop views.
|
||||||
|
.PP
|
||||||
|
Be careful that the names and types of the view's columns will be
|
||||||
|
assigned the way you want. For example,
|
||||||
|
.sp
|
||||||
|
.nf
|
||||||
|
CREATE VIEW vista AS SELECT 'Hello World';
|
||||||
|
.sp
|
||||||
|
.fi
|
||||||
|
is bad form in two ways: the column name defaults to ?column?,
|
||||||
|
and the column data type defaults to \fBunknown\fR. If you want a
|
||||||
|
string literal in a view's result, use something like
|
||||||
|
.sp
|
||||||
|
.nf
|
||||||
|
CREATE VIEW vista AS SELECT text 'Hello World' AS hello;
|
||||||
|
.sp
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
Access to tables referenced in the view is determined by permissions of
|
||||||
|
the view owner. However, functions called in the view are treated the
|
||||||
|
same as if they had been called directly from the query using the view.
|
||||||
|
Therefore the user of a view must have permissions to call all functions
|
||||||
|
used by the view.
|
||||||
|
.SH "EXAMPLES"
|
||||||
|
.PP
|
||||||
|
Create a view consisting of all comedy films:
|
||||||
|
.sp
|
||||||
|
.nf
|
||||||
|
CREATE VIEW comedies AS
|
||||||
|
SELECT *
|
||||||
|
FROM films
|
||||||
|
WHERE kind = 'Comedy';
|
||||||
|
.sp
|
||||||
|
.fi
|
||||||
|
.SH "COMPATIBILITY"
|
||||||
|
.PP
|
||||||
|
The SQL standard specifies some additional capabilities for the
|
||||||
|
\fBCREATE VIEW\fR statement:
|
||||||
|
.sp
|
||||||
|
.nf
|
||||||
|
CREATE VIEW \fIname\fR [ ( \fIcolumn_name\fR [, ...] ) ]
|
||||||
|
AS \fIquery\fR
|
||||||
|
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
|
||||||
|
.sp
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
The optional clauses for the full SQL command are:
|
||||||
|
.TP
|
||||||
|
\fBCHECK OPTION\fR
|
||||||
|
This option has to do with updatable views. All
|
||||||
|
\fBINSERT\fR and \fBUPDATE\fR commands on the view
|
||||||
|
will be checked to ensure data satisfy the view-defining
|
||||||
|
condition (that is, the new data would be visible through the
|
||||||
|
view). If they do not, the update will be rejected.
|
||||||
|
.TP
|
||||||
|
\fBLOCAL\fR
|
||||||
|
Check for integrity on this view.
|
||||||
|
.TP
|
||||||
|
\fBCASCADED\fR
|
||||||
|
Check for integrity on this view and on any dependent
|
||||||
|
view. CASCADED is assumed if neither
|
||||||
|
CASCADED nor LOCAL is specified.
|
||||||
|
.PP
|
||||||
|
.PP
|
||||||
|
\fBCREATE OR REPLACE VIEW\fR is a
|
||||||
|
PostgreSQL language extension.
|
||||||
|
So is the concept of a temporary view.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
DROP VIEW [\fBdrop_view\fR(l)]
|
||||||
1174
samples/Groff/fsinterface.ms
Normal file
1174
samples/Groff/fsinterface.ms
Normal file
File diff suppressed because it is too large
Load Diff
396
samples/Java/gen-java-linguist-thrift.java
Normal file
396
samples/Java/gen-java-linguist-thrift.java
Normal file
@@ -0,0 +1,396 @@
|
|||||||
|
/**
|
||||||
|
* Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||||
|
*
|
||||||
|
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||||
|
* @generated
|
||||||
|
*/
|
||||||
|
import org.apache.thrift.scheme.IScheme;
|
||||||
|
import org.apache.thrift.scheme.SchemeFactory;
|
||||||
|
import org.apache.thrift.scheme.StandardScheme;
|
||||||
|
|
||||||
|
import org.apache.thrift.scheme.TupleScheme;
|
||||||
|
import org.apache.thrift.protocol.TTupleProtocol;
|
||||||
|
import org.apache.thrift.protocol.TProtocolException;
|
||||||
|
import org.apache.thrift.EncodingUtils;
|
||||||
|
import org.apache.thrift.TException;
|
||||||
|
import org.apache.thrift.async.AsyncMethodCallback;
|
||||||
|
import org.apache.thrift.server.AbstractNonblockingServer.*;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.EnumMap;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.EnumSet;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.BitSet;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import javax.annotation.Generated;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
|
||||||
|
@Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)", date = "2015-5-12")
|
||||||
|
public class PullRequest implements org.apache.thrift.TBase<PullRequest, PullRequest._Fields>, java.io.Serializable, Cloneable, Comparable<PullRequest> {
|
||||||
|
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PullRequest");
|
||||||
|
|
||||||
|
private static final org.apache.thrift.protocol.TField TITLE_FIELD_DESC = new org.apache.thrift.protocol.TField("title", org.apache.thrift.protocol.TType.STRING, (short)1);
|
||||||
|
|
||||||
|
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
|
||||||
|
static {
|
||||||
|
schemes.put(StandardScheme.class, new PullRequestStandardSchemeFactory());
|
||||||
|
schemes.put(TupleScheme.class, new PullRequestTupleSchemeFactory());
|
||||||
|
}
|
||||||
|
|
||||||
|
public String title; // required
|
||||||
|
|
||||||
|
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
|
||||||
|
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
|
||||||
|
TITLE((short)1, "title");
|
||||||
|
|
||||||
|
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
|
||||||
|
|
||||||
|
static {
|
||||||
|
for (_Fields field : EnumSet.allOf(_Fields.class)) {
|
||||||
|
byName.put(field.getFieldName(), field);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the _Fields constant that matches fieldId, or null if its not found.
|
||||||
|
*/
|
||||||
|
public static _Fields findByThriftId(int fieldId) {
|
||||||
|
switch(fieldId) {
|
||||||
|
case 1: // TITLE
|
||||||
|
return TITLE;
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the _Fields constant that matches fieldId, throwing an exception
|
||||||
|
* if it is not found.
|
||||||
|
*/
|
||||||
|
public static _Fields findByThriftIdOrThrow(int fieldId) {
|
||||||
|
_Fields fields = findByThriftId(fieldId);
|
||||||
|
if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
|
||||||
|
return fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the _Fields constant that matches name, or null if its not found.
|
||||||
|
*/
|
||||||
|
public static _Fields findByName(String name) {
|
||||||
|
return byName.get(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
private final short _thriftId;
|
||||||
|
private final String _fieldName;
|
||||||
|
|
||||||
|
_Fields(short thriftId, String fieldName) {
|
||||||
|
_thriftId = thriftId;
|
||||||
|
_fieldName = fieldName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public short getThriftFieldId() {
|
||||||
|
return _thriftId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFieldName() {
|
||||||
|
return _fieldName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// isset id assignments
|
||||||
|
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
|
||||||
|
static {
|
||||||
|
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
|
||||||
|
tmpMap.put(_Fields.TITLE, new org.apache.thrift.meta_data.FieldMetaData("title", org.apache.thrift.TFieldRequirementType.DEFAULT,
|
||||||
|
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
|
||||||
|
metaDataMap = Collections.unmodifiableMap(tmpMap);
|
||||||
|
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(PullRequest.class, metaDataMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public PullRequest() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public PullRequest(
|
||||||
|
String title)
|
||||||
|
{
|
||||||
|
this();
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Performs a deep copy on <i>other</i>.
|
||||||
|
*/
|
||||||
|
public PullRequest(PullRequest other) {
|
||||||
|
if (other.isSetTitle()) {
|
||||||
|
this.title = other.title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public PullRequest deepCopy() {
|
||||||
|
return new PullRequest(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clear() {
|
||||||
|
this.title = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return this.title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PullRequest setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void unsetTitle() {
|
||||||
|
this.title = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Returns true if field title is set (has been assigned a value) and false otherwise */
|
||||||
|
public boolean isSetTitle() {
|
||||||
|
return this.title != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitleIsSet(boolean value) {
|
||||||
|
if (!value) {
|
||||||
|
this.title = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFieldValue(_Fields field, Object value) {
|
||||||
|
switch (field) {
|
||||||
|
case TITLE:
|
||||||
|
if (value == null) {
|
||||||
|
unsetTitle();
|
||||||
|
} else {
|
||||||
|
setTitle((String)value);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getFieldValue(_Fields field) {
|
||||||
|
switch (field) {
|
||||||
|
case TITLE:
|
||||||
|
return getTitle();
|
||||||
|
|
||||||
|
}
|
||||||
|
throw new IllegalStateException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
|
||||||
|
public boolean isSet(_Fields field) {
|
||||||
|
if (field == null) {
|
||||||
|
throw new IllegalArgumentException();
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (field) {
|
||||||
|
case TITLE:
|
||||||
|
return isSetTitle();
|
||||||
|
}
|
||||||
|
throw new IllegalStateException();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object that) {
|
||||||
|
if (that == null)
|
||||||
|
return false;
|
||||||
|
if (that instanceof PullRequest)
|
||||||
|
return this.equals((PullRequest)that);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean equals(PullRequest that) {
|
||||||
|
if (that == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
boolean this_present_title = true && this.isSetTitle();
|
||||||
|
boolean that_present_title = true && that.isSetTitle();
|
||||||
|
if (this_present_title || that_present_title) {
|
||||||
|
if (!(this_present_title && that_present_title))
|
||||||
|
return false;
|
||||||
|
if (!this.title.equals(that.title))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
List<Object> list = new ArrayList<Object>();
|
||||||
|
|
||||||
|
boolean present_title = true && (isSetTitle());
|
||||||
|
list.add(present_title);
|
||||||
|
if (present_title)
|
||||||
|
list.add(title);
|
||||||
|
|
||||||
|
return list.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(PullRequest other) {
|
||||||
|
if (!getClass().equals(other.getClass())) {
|
||||||
|
return getClass().getName().compareTo(other.getClass().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
int lastComparison = 0;
|
||||||
|
|
||||||
|
lastComparison = Boolean.valueOf(isSetTitle()).compareTo(other.isSetTitle());
|
||||||
|
if (lastComparison != 0) {
|
||||||
|
return lastComparison;
|
||||||
|
}
|
||||||
|
if (isSetTitle()) {
|
||||||
|
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.title, other.title);
|
||||||
|
if (lastComparison != 0) {
|
||||||
|
return lastComparison;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public _Fields fieldForId(int fieldId) {
|
||||||
|
return _Fields.findByThriftId(fieldId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
|
||||||
|
schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
|
||||||
|
schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder sb = new StringBuilder("PullRequest(");
|
||||||
|
boolean first = true;
|
||||||
|
|
||||||
|
sb.append("title:");
|
||||||
|
if (this.title == null) {
|
||||||
|
sb.append("null");
|
||||||
|
} else {
|
||||||
|
sb.append(this.title);
|
||||||
|
}
|
||||||
|
first = false;
|
||||||
|
sb.append(")");
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void validate() throws org.apache.thrift.TException {
|
||||||
|
// check for required fields
|
||||||
|
// check for sub-struct validity
|
||||||
|
}
|
||||||
|
|
||||||
|
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
|
||||||
|
try {
|
||||||
|
write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
|
||||||
|
} catch (org.apache.thrift.TException te) {
|
||||||
|
throw new java.io.IOException(te);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
|
||||||
|
try {
|
||||||
|
read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
|
||||||
|
} catch (org.apache.thrift.TException te) {
|
||||||
|
throw new java.io.IOException(te);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class PullRequestStandardSchemeFactory implements SchemeFactory {
|
||||||
|
public PullRequestStandardScheme getScheme() {
|
||||||
|
return new PullRequestStandardScheme();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class PullRequestStandardScheme extends StandardScheme<PullRequest> {
|
||||||
|
|
||||||
|
public void read(org.apache.thrift.protocol.TProtocol iprot, PullRequest struct) throws org.apache.thrift.TException {
|
||||||
|
org.apache.thrift.protocol.TField schemeField;
|
||||||
|
iprot.readStructBegin();
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
schemeField = iprot.readFieldBegin();
|
||||||
|
if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch (schemeField.id) {
|
||||||
|
case 1: // TITLE
|
||||||
|
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
|
||||||
|
struct.title = iprot.readString();
|
||||||
|
struct.setTitleIsSet(true);
|
||||||
|
} else {
|
||||||
|
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
|
||||||
|
}
|
||||||
|
iprot.readFieldEnd();
|
||||||
|
}
|
||||||
|
iprot.readStructEnd();
|
||||||
|
|
||||||
|
// check for required fields of primitive type, which can't be checked in the validate method
|
||||||
|
struct.validate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void write(org.apache.thrift.protocol.TProtocol oprot, PullRequest struct) throws org.apache.thrift.TException {
|
||||||
|
struct.validate();
|
||||||
|
|
||||||
|
oprot.writeStructBegin(STRUCT_DESC);
|
||||||
|
if (struct.title != null) {
|
||||||
|
oprot.writeFieldBegin(TITLE_FIELD_DESC);
|
||||||
|
oprot.writeString(struct.title);
|
||||||
|
oprot.writeFieldEnd();
|
||||||
|
}
|
||||||
|
oprot.writeFieldStop();
|
||||||
|
oprot.writeStructEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class PullRequestTupleSchemeFactory implements SchemeFactory {
|
||||||
|
public PullRequestTupleScheme getScheme() {
|
||||||
|
return new PullRequestTupleScheme();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class PullRequestTupleScheme extends TupleScheme<PullRequest> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void write(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException {
|
||||||
|
TTupleProtocol oprot = (TTupleProtocol) prot;
|
||||||
|
BitSet optionals = new BitSet();
|
||||||
|
if (struct.isSetTitle()) {
|
||||||
|
optionals.set(0);
|
||||||
|
}
|
||||||
|
oprot.writeBitSet(optionals, 1);
|
||||||
|
if (struct.isSetTitle()) {
|
||||||
|
oprot.writeString(struct.title);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void read(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException {
|
||||||
|
TTupleProtocol iprot = (TTupleProtocol) prot;
|
||||||
|
BitSet incoming = iprot.readBitSet(1);
|
||||||
|
if (incoming.get(0)) {
|
||||||
|
struct.title = iprot.readString();
|
||||||
|
struct.setTitleIsSet(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
60
samples/JavaScript/gen-js-linguist-thrift.js
Normal file
60
samples/JavaScript/gen-js-linguist-thrift.js
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
//
|
||||||
|
// Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||||
|
//
|
||||||
|
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
PullRequest = function(args) {
|
||||||
|
this.title = null;
|
||||||
|
if (args) {
|
||||||
|
if (args.title !== undefined) {
|
||||||
|
this.title = args.title;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
PullRequest.prototype = {};
|
||||||
|
PullRequest.prototype.read = function(input) {
|
||||||
|
input.readStructBegin();
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
var ret = input.readFieldBegin();
|
||||||
|
var fname = ret.fname;
|
||||||
|
var ftype = ret.ftype;
|
||||||
|
var fid = ret.fid;
|
||||||
|
if (ftype == Thrift.Type.STOP) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch (fid)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
if (ftype == Thrift.Type.STRING) {
|
||||||
|
this.title = input.readString().value;
|
||||||
|
} else {
|
||||||
|
input.skip(ftype);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
input.skip(ftype);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
input.skip(ftype);
|
||||||
|
}
|
||||||
|
input.readFieldEnd();
|
||||||
|
}
|
||||||
|
input.readStructEnd();
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
PullRequest.prototype.write = function(output) {
|
||||||
|
output.writeStructBegin('PullRequest');
|
||||||
|
if (this.title !== null && this.title !== undefined) {
|
||||||
|
output.writeFieldBegin('title', Thrift.Type.STRING, 1);
|
||||||
|
output.writeString(this.title);
|
||||||
|
output.writeFieldEnd();
|
||||||
|
}
|
||||||
|
output.writeFieldStop();
|
||||||
|
output.writeStructEnd();
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
601
samples/Lex/zend_ini_scanner.l
Normal file
601
samples/Lex/zend_ini_scanner.l
Normal file
@@ -0,0 +1,601 @@
|
|||||||
|
/*
|
||||||
|
+----------------------------------------------------------------------+
|
||||||
|
| Zend Engine |
|
||||||
|
+----------------------------------------------------------------------+
|
||||||
|
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||||
|
+----------------------------------------------------------------------+
|
||||||
|
| This source file is subject to version 2.00 of the Zend license, |
|
||||||
|
| that is bundled with this package in the file LICENSE, and is |
|
||||||
|
| available through the world-wide-web at the following url: |
|
||||||
|
| http://www.zend.com/license/2_00.txt. |
|
||||||
|
| If you did not receive a copy of the Zend license and are unable to |
|
||||||
|
| obtain it through the world-wide-web, please send a note to |
|
||||||
|
| license@zend.com so we can mail you a copy immediately. |
|
||||||
|
+----------------------------------------------------------------------+
|
||||||
|
| Authors: Zeev Suraski <zeev@zend.com> |
|
||||||
|
| Jani Taskinen <jani@php.net> |
|
||||||
|
| Marcus Boerger <helly@php.net> |
|
||||||
|
| Nuno Lopes <nlopess@php.net> |
|
||||||
|
| Scott MacVicar <scottmac@php.net> |
|
||||||
|
+----------------------------------------------------------------------+
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* $Id$ */
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include "zend.h"
|
||||||
|
#include "zend_globals.h"
|
||||||
|
#include <zend_ini_parser.h>
|
||||||
|
#include "zend_ini_scanner.h"
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
|
||||||
|
#else
|
||||||
|
# define YYDEBUG(s, c)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "zend_ini_scanner_defs.h"
|
||||||
|
|
||||||
|
#define YYCTYPE unsigned char
|
||||||
|
/* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
|
||||||
|
* so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
|
||||||
|
#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
|
||||||
|
#define YYCURSOR SCNG(yy_cursor)
|
||||||
|
#define YYLIMIT SCNG(yy_limit)
|
||||||
|
#define YYMARKER SCNG(yy_marker)
|
||||||
|
|
||||||
|
#define YYGETCONDITION() SCNG(yy_state)
|
||||||
|
#define YYSETCONDITION(s) SCNG(yy_state) = s
|
||||||
|
|
||||||
|
#define STATE(name) yyc##name
|
||||||
|
|
||||||
|
/* emulate flex constructs */
|
||||||
|
#define BEGIN(state) YYSETCONDITION(STATE(state))
|
||||||
|
#define YYSTATE YYGETCONDITION()
|
||||||
|
#define yytext ((char*)SCNG(yy_text))
|
||||||
|
#define yyleng SCNG(yy_leng)
|
||||||
|
#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \
|
||||||
|
yyleng = (unsigned int)x; } while(0)
|
||||||
|
|
||||||
|
/* #define yymore() goto yymore_restart */
|
||||||
|
|
||||||
|
/* perform sanity check. If this message is triggered you should
|
||||||
|
increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
|
||||||
|
/*!max:re2c */
|
||||||
|
#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
|
||||||
|
# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* How it works (for the core ini directives):
|
||||||
|
* ===========================================
|
||||||
|
*
|
||||||
|
* 1. Scanner scans file for tokens and passes them to parser.
|
||||||
|
* 2. Parser parses the tokens and passes the name/value pairs to the callback
|
||||||
|
* function which stores them in the configuration hash table.
|
||||||
|
* 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
|
||||||
|
* registering of ini entries and uses zend_get_configuration_directive()
|
||||||
|
* to fetch the previously stored name/value pair from configuration hash table
|
||||||
|
* and registers the static ini entries which match the name to the value
|
||||||
|
* into EG(ini_directives) hash table.
|
||||||
|
* 4. PATH section entries are used per-request from down to top, each overriding
|
||||||
|
* previous if one exists. zend_alter_ini_entry() is called for each entry.
|
||||||
|
* Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
|
||||||
|
* php_admin_* directives used within Apache httpd.conf when PHP is compiled as
|
||||||
|
* module for Apache.
|
||||||
|
* 5. User defined ini files (like .htaccess for apache) are parsed for each request and
|
||||||
|
* stored in separate hash defined by SAPI.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* TODO: (ordered by importance :-)
|
||||||
|
* ===============================================================================
|
||||||
|
*
|
||||||
|
* - Separate constant lookup totally from plain strings (using CONSTANT pattern)
|
||||||
|
* - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
|
||||||
|
* - Add #include "some.ini"
|
||||||
|
* - Allow variables to refer to options also when using parse_ini_file()
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Globals Macros */
|
||||||
|
#define SCNG INI_SCNG
|
||||||
|
#ifdef ZTS
|
||||||
|
ZEND_API ts_rsrc_id ini_scanner_globals_id;
|
||||||
|
#else
|
||||||
|
ZEND_API zend_ini_scanner_globals ini_scanner_globals;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Eat leading whitespace */
|
||||||
|
#define EAT_LEADING_WHITESPACE() \
|
||||||
|
while (yytext[0]) { \
|
||||||
|
if (yytext[0] == ' ' || yytext[0] == '\t') { \
|
||||||
|
SCNG(yy_text)++; \
|
||||||
|
yyleng--; \
|
||||||
|
} else { \
|
||||||
|
break; \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Eat trailing whitespace + extra char */
|
||||||
|
#define EAT_TRAILING_WHITESPACE_EX(ch) \
|
||||||
|
while (yyleng > 0 && ( \
|
||||||
|
(ch != 'X' && yytext[yyleng - 1] == ch) || \
|
||||||
|
yytext[yyleng - 1] == '\n' || \
|
||||||
|
yytext[yyleng - 1] == '\r' || \
|
||||||
|
yytext[yyleng - 1] == '\t' || \
|
||||||
|
yytext[yyleng - 1] == ' ') \
|
||||||
|
) { \
|
||||||
|
yyleng--; \
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Eat trailing whitespace */
|
||||||
|
#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X')
|
||||||
|
|
||||||
|
#define zend_ini_copy_value(retval, str, len) { \
|
||||||
|
Z_STRVAL_P(retval) = zend_strndup(str, len); \
|
||||||
|
Z_STRLEN_P(retval) = len; \
|
||||||
|
Z_TYPE_P(retval) = IS_STRING; \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define RETURN_TOKEN(type, str, len) { \
|
||||||
|
zend_ini_copy_value(ini_lval, str, len); \
|
||||||
|
return type; \
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _yy_push_state(int new_state TSRMLS_DC)
|
||||||
|
{
|
||||||
|
zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int));
|
||||||
|
YYSETCONDITION(new_state);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
|
||||||
|
|
||||||
|
static void yy_pop_state(TSRMLS_D)
|
||||||
|
{
|
||||||
|
int *stack_state;
|
||||||
|
zend_stack_top(&SCNG(state_stack), (void **) &stack_state);
|
||||||
|
YYSETCONDITION(*stack_state);
|
||||||
|
zend_stack_del_top(&SCNG(state_stack));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
|
||||||
|
{
|
||||||
|
YYCURSOR = (YYCTYPE*)str;
|
||||||
|
SCNG(yy_start) = YYCURSOR;
|
||||||
|
YYLIMIT = YYCURSOR + len;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define ini_filename SCNG(filename)
|
||||||
|
|
||||||
|
/* {{{ init_ini_scanner()
|
||||||
|
*/
|
||||||
|
static int init_ini_scanner(int scanner_mode, zend_file_handle *fh TSRMLS_DC)
|
||||||
|
{
|
||||||
|
/* Sanity check */
|
||||||
|
if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW) {
|
||||||
|
zend_error(E_WARNING, "Invalid scanner mode");
|
||||||
|
return FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
SCNG(lineno) = 1;
|
||||||
|
SCNG(scanner_mode) = scanner_mode;
|
||||||
|
SCNG(yy_in) = fh;
|
||||||
|
|
||||||
|
if (fh != NULL) {
|
||||||
|
ini_filename = zend_strndup(fh->filename, strlen(fh->filename));
|
||||||
|
} else {
|
||||||
|
ini_filename = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
zend_stack_init(&SCNG(state_stack));
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ shutdown_ini_scanner()
|
||||||
|
*/
|
||||||
|
void shutdown_ini_scanner(TSRMLS_D)
|
||||||
|
{
|
||||||
|
zend_stack_destroy(&SCNG(state_stack));
|
||||||
|
if (ini_filename) {
|
||||||
|
free(ini_filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ zend_ini_scanner_get_lineno()
|
||||||
|
*/
|
||||||
|
int zend_ini_scanner_get_lineno(TSRMLS_D)
|
||||||
|
{
|
||||||
|
return SCNG(lineno);
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ zend_ini_scanner_get_filename()
|
||||||
|
*/
|
||||||
|
char *zend_ini_scanner_get_filename(TSRMLS_D)
|
||||||
|
{
|
||||||
|
return ini_filename ? ini_filename : "Unknown";
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ zend_ini_open_file_for_scanning()
|
||||||
|
*/
|
||||||
|
int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode TSRMLS_DC)
|
||||||
|
{
|
||||||
|
char *buf;
|
||||||
|
size_t size;
|
||||||
|
|
||||||
|
if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE) {
|
||||||
|
return FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE) {
|
||||||
|
zend_file_handle_dtor(fh TSRMLS_CC);
|
||||||
|
return FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
yy_scan_buffer(buf, size TSRMLS_CC);
|
||||||
|
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ zend_ini_prepare_string_for_scanning()
|
||||||
|
*/
|
||||||
|
int zend_ini_prepare_string_for_scanning(char *str, int scanner_mode TSRMLS_DC)
|
||||||
|
{
|
||||||
|
int len = strlen(str);
|
||||||
|
|
||||||
|
if (init_ini_scanner(scanner_mode, NULL TSRMLS_CC) == FAILURE) {
|
||||||
|
return FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
yy_scan_buffer(str, len TSRMLS_CC);
|
||||||
|
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ zend_ini_escape_string()
|
||||||
|
*/
|
||||||
|
static void zend_ini_escape_string(zval *lval, char *str, int len, char quote_type TSRMLS_DC)
|
||||||
|
{
|
||||||
|
register char *s, *t;
|
||||||
|
char *end;
|
||||||
|
|
||||||
|
zend_ini_copy_value(lval, str, len);
|
||||||
|
|
||||||
|
/* convert escape sequences */
|
||||||
|
s = t = Z_STRVAL_P(lval);
|
||||||
|
end = s + Z_STRLEN_P(lval);
|
||||||
|
|
||||||
|
while (s < end) {
|
||||||
|
if (*s == '\\') {
|
||||||
|
s++;
|
||||||
|
if (s >= end) {
|
||||||
|
*t++ = '\\';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
switch (*s) {
|
||||||
|
case '"':
|
||||||
|
if (*s != quote_type) {
|
||||||
|
*t++ = '\\';
|
||||||
|
*t++ = *s;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case '\\':
|
||||||
|
case '$':
|
||||||
|
*t++ = *s;
|
||||||
|
Z_STRLEN_P(lval)--;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
*t++ = '\\';
|
||||||
|
*t++ = *s;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
*t++ = *s;
|
||||||
|
}
|
||||||
|
if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
|
||||||
|
SCNG(lineno)++;
|
||||||
|
}
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
*t = 0;
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
|
int ini_lex(zval *ini_lval TSRMLS_DC)
|
||||||
|
{
|
||||||
|
restart:
|
||||||
|
SCNG(yy_text) = YYCURSOR;
|
||||||
|
|
||||||
|
/* yymore_restart: */
|
||||||
|
/* detect EOF */
|
||||||
|
if (YYCURSOR >= YYLIMIT) {
|
||||||
|
if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
return END_OF_LINE;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Eat any UTF-8 BOM we find in the first 3 bytes */
|
||||||
|
if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
|
||||||
|
if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
|
||||||
|
YYCURSOR += 3;
|
||||||
|
goto restart;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*!re2c
|
||||||
|
re2c:yyfill:check = 0;
|
||||||
|
LNUM [0-9]+
|
||||||
|
DNUM ([0-9]*[\.][0-9]+)|([0-9]+[\.][0-9]*)
|
||||||
|
NUMBER [-]?{LNUM}|{DNUM}
|
||||||
|
ANY_CHAR (.|[\n\t])
|
||||||
|
NEWLINE ("\r"|"\n"|"\r\n")
|
||||||
|
TABS_AND_SPACES [ \t]
|
||||||
|
WHITESPACE [ \t]+
|
||||||
|
CONSTANT [a-zA-Z_][a-zA-Z0-9_]*
|
||||||
|
LABEL [^=\n\r\t;|&$~(){}!"\[]+
|
||||||
|
TOKENS [:,.\[\]"'()|^&+-/*=%$!~<>?@{}]
|
||||||
|
OPERATORS [&|~()!]
|
||||||
|
DOLLAR_CURLY "${"
|
||||||
|
|
||||||
|
SECTION_RAW_CHARS [^\]\n\r]
|
||||||
|
SINGLE_QUOTED_CHARS [^']
|
||||||
|
RAW_VALUE_CHARS [^"\n\r;\000]
|
||||||
|
|
||||||
|
LITERAL_DOLLAR ("$"([^{\000]|("\\"{ANY_CHAR})))
|
||||||
|
VALUE_CHARS ([^$= \t\n\r;&|~()!"'\000]|{LITERAL_DOLLAR})
|
||||||
|
SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
|
||||||
|
|
||||||
|
<!*> := yyleng = YYCURSOR - SCNG(yy_text);
|
||||||
|
|
||||||
|
<INITIAL>"[" { /* Section start */
|
||||||
|
/* Enter section data lookup state */
|
||||||
|
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
|
||||||
|
yy_push_state(ST_SECTION_RAW TSRMLS_CC);
|
||||||
|
} else {
|
||||||
|
yy_push_state(ST_SECTION_VALUE TSRMLS_CC);
|
||||||
|
}
|
||||||
|
return TC_SECTION;
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VALUE,ST_SECTION_VALUE,ST_OFFSET>"'"{SINGLE_QUOTED_CHARS}+"'" { /* Raw string */
|
||||||
|
/* Eat leading and trailing single quotes */
|
||||||
|
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
|
||||||
|
SCNG(yy_text)++;
|
||||||
|
yyleng = yyleng - 2;
|
||||||
|
}
|
||||||
|
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_SECTION_RAW,ST_SECTION_VALUE>"]"{TABS_AND_SPACES}*{NEWLINE}? { /* End of section */
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
SCNG(lineno)++;
|
||||||
|
return ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL>{LABEL}"["{TABS_AND_SPACES}* { /* Start of option with offset */
|
||||||
|
/* Eat leading whitespace */
|
||||||
|
EAT_LEADING_WHITESPACE();
|
||||||
|
|
||||||
|
/* Eat trailing whitespace and [ */
|
||||||
|
EAT_TRAILING_WHITESPACE_EX('[');
|
||||||
|
|
||||||
|
/* Enter offset lookup state */
|
||||||
|
yy_push_state(ST_OFFSET TSRMLS_CC);
|
||||||
|
|
||||||
|
RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_OFFSET>{TABS_AND_SPACES}*"]" { /* End of section or an option offset */
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
return ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_DOUBLE_QUOTES,ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{DOLLAR_CURLY} { /* Variable start */
|
||||||
|
yy_push_state(ST_VARNAME TSRMLS_CC);
|
||||||
|
return TC_DOLLAR_CURLY;
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VARNAME>{LABEL} { /* Variable name */
|
||||||
|
/* Eat leading whitespace */
|
||||||
|
EAT_LEADING_WHITESPACE();
|
||||||
|
|
||||||
|
/* Eat trailing whitespace */
|
||||||
|
EAT_TRAILING_WHITESPACE();
|
||||||
|
|
||||||
|
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VARNAME>"}" { /* Variable end */
|
||||||
|
yy_pop_state(TSRMLS_C);
|
||||||
|
return '}';
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL,ST_VALUE>("true"|"on"|"yes"){TABS_AND_SPACES}* { /* TRUE value (when used outside option value/offset this causes parse error!) */
|
||||||
|
RETURN_TOKEN(BOOL_TRUE, "1", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL,ST_VALUE>("false"|"off"|"no"|"none"|"null"){TABS_AND_SPACES}* { /* FALSE value (when used outside option value/offset this causes parse error!)*/
|
||||||
|
RETURN_TOKEN(BOOL_FALSE, "", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL>{LABEL} { /* Get option name */
|
||||||
|
/* Eat leading whitespace */
|
||||||
|
EAT_LEADING_WHITESPACE();
|
||||||
|
|
||||||
|
/* Eat trailing whitespace */
|
||||||
|
EAT_TRAILING_WHITESPACE();
|
||||||
|
|
||||||
|
RETURN_TOKEN(TC_LABEL, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL>{TABS_AND_SPACES}*[=]{TABS_AND_SPACES}* { /* Start option value */
|
||||||
|
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
|
||||||
|
yy_push_state(ST_RAW TSRMLS_CC);
|
||||||
|
} else {
|
||||||
|
yy_push_state(ST_VALUE TSRMLS_CC);
|
||||||
|
}
|
||||||
|
return '=';
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_RAW>["] {
|
||||||
|
while (YYCURSOR < YYLIMIT) {
|
||||||
|
switch (*YYCURSOR++) {
|
||||||
|
case '\n':
|
||||||
|
SCNG(lineno)++;
|
||||||
|
break;
|
||||||
|
case '\r':
|
||||||
|
if (*YYCURSOR != '\n') {
|
||||||
|
SCNG(lineno)++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case '"':
|
||||||
|
yyleng = YYCURSOR - SCNG(yy_text) - 2;
|
||||||
|
SCNG(yy_text)++;
|
||||||
|
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||||
|
case '\\':
|
||||||
|
if (YYCURSOR < YYLIMIT) {
|
||||||
|
YYCURSOR++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
yyleng = YYCURSOR - SCNG(yy_text);
|
||||||
|
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_RAW>{RAW_VALUE_CHARS}+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
|
||||||
|
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_SECTION_RAW>{SECTION_RAW_CHARS}+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
|
||||||
|
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VALUE,ST_RAW>{TABS_AND_SPACES}*{NEWLINE} { /* End of option value */
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
SCNG(lineno)++;
|
||||||
|
return END_OF_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{CONSTANT} { /* Get constant option value */
|
||||||
|
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{NUMBER} { /* Get number option value as string */
|
||||||
|
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL>{TOKENS} { /* Disallow these chars outside option values */
|
||||||
|
return yytext[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VALUE>{OPERATORS}{TABS_AND_SPACES}* { /* Boolean operators */
|
||||||
|
return yytext[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VALUE>[=] { /* Make = used in option value to trigger error */
|
||||||
|
yyless(0);
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
return END_OF_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VALUE>{VALUE_CHARS}+ { /* Get everything else as option/offset value */
|
||||||
|
RETURN_TOKEN(TC_STRING, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_SECTION_VALUE,ST_OFFSET>{SECTION_VALUE_CHARS}+ { /* Get rest as section/offset value */
|
||||||
|
RETURN_TOKEN(TC_STRING, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{TABS_AND_SPACES}*["] { /* Double quoted '"' string start */
|
||||||
|
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
|
||||||
|
return '"';
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_DOUBLE_QUOTES>["]{TABS_AND_SPACES}* { /* Double quoted '"' string ends */
|
||||||
|
yy_pop_state(TSRMLS_C);
|
||||||
|
return '"';
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_DOUBLE_QUOTES>[^] { /* Escape double quoted string contents */
|
||||||
|
if (YYCURSOR > YYLIMIT) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (YYCURSOR < YYLIMIT) {
|
||||||
|
switch (*YYCURSOR++) {
|
||||||
|
case '"':
|
||||||
|
if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case '$':
|
||||||
|
if (*YYCURSOR == '{') {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
case '\\':
|
||||||
|
if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
|
||||||
|
YYCURSOR++;
|
||||||
|
}
|
||||||
|
/* fall through */
|
||||||
|
default:
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
YYCURSOR--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
yyleng = YYCURSOR - SCNG(yy_text);
|
||||||
|
|
||||||
|
zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
|
||||||
|
return TC_QUOTED_STRING;
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{WHITESPACE} {
|
||||||
|
RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL,ST_RAW>{TABS_AND_SPACES}+ {
|
||||||
|
/* eat whitespace */
|
||||||
|
goto restart;
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL>{TABS_AND_SPACES}*{NEWLINE} {
|
||||||
|
SCNG(lineno)++;
|
||||||
|
return END_OF_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL,ST_VALUE,ST_RAW>{TABS_AND_SPACES}*[;][^\r\n]*{NEWLINE} { /* Comment */
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
SCNG(lineno)++;
|
||||||
|
return END_OF_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
<INITIAL>{TABS_AND_SPACES}*[#][^\r\n]*{NEWLINE} { /* #Comment */
|
||||||
|
zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno));
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
SCNG(lineno)++;
|
||||||
|
return END_OF_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
<ST_VALUE,ST_RAW>[^] { /* End of option value (if EOF is reached before EOL */
|
||||||
|
BEGIN(INITIAL);
|
||||||
|
return END_OF_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
<*>[^] {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
23
samples/Makefile/filenames/Kbuild
Normal file
23
samples/Makefile/filenames/Kbuild
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Fail on warnings - also for files referenced in subdirs
|
||||||
|
# -Werror can be disabled for specific files using:
|
||||||
|
# CFLAGS_<file.o> := -Wno-error
|
||||||
|
subdir-ccflags-y := -Werror
|
||||||
|
|
||||||
|
# platform specific definitions
|
||||||
|
include arch/mips/Kbuild.platforms
|
||||||
|
obj-y := $(platform-y)
|
||||||
|
|
||||||
|
# make clean traverses $(obj-) without having included .config, so
|
||||||
|
# everything ends up here
|
||||||
|
obj- := $(platform-)
|
||||||
|
|
||||||
|
# mips object files
|
||||||
|
# The object files are linked as core-y files would be linked
|
||||||
|
|
||||||
|
obj-y += kernel/
|
||||||
|
obj-y += mm/
|
||||||
|
obj-y += net/
|
||||||
|
|
||||||
|
ifdef CONFIG_KVM
|
||||||
|
obj-y += kvm/
|
||||||
|
endif
|
||||||
242
samples/Nginx/example.com.vhost
Normal file
242
samples/Nginx/example.com.vhost
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
# Move the www people to no-www
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name www.example.com;
|
||||||
|
return 301 $scheme://example.com$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name example.com;
|
||||||
|
|
||||||
|
# Certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
|
||||||
|
ssl_certificate /srv/www/example.com/ssl/example.com.crt;
|
||||||
|
ssl_certificate_key /srv/www/example.com/ssl/example.com.key;
|
||||||
|
|
||||||
|
# Allow multiple connections to use the same key data
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_session_cache shared:SSL:50m;
|
||||||
|
|
||||||
|
# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
|
||||||
|
ssl_dhparam /etc/ssl/certs/dhparam.pem;
|
||||||
|
|
||||||
|
# Intermediate configuration. tweak to your needs
|
||||||
|
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
||||||
|
include snippets/ssl_ciphers_intermediate.conf;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
|
||||||
|
#add_header Strict-Transport-Security max-age=15768000;
|
||||||
|
|
||||||
|
# OCSP Stapling - fetch OCSP records from URL in ssl_certificate and cache them
|
||||||
|
ssl_stapling on;
|
||||||
|
ssl_stapling_verify on;
|
||||||
|
|
||||||
|
# Verify chain of trust of OCSP response using Root CA and Intermediate certs
|
||||||
|
ssl_trusted_certificate /srv/www/example.com/ssl/unified-ssl.crt;
|
||||||
|
resolver 8.8.8.8 8.8.4.4;
|
||||||
|
resolver_timeout 10s;
|
||||||
|
|
||||||
|
root /srv/www/example.com/htdocs;
|
||||||
|
index index.php index.html index.htm;
|
||||||
|
charset UTF-8;
|
||||||
|
autoindex off;
|
||||||
|
|
||||||
|
# Deny access based on HTTP method (set in HTTP level)
|
||||||
|
if ($bad_method = 1) {
|
||||||
|
return 444;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Show "Not Found" 404 errors in place of "Forbidden" 403 errors, because
|
||||||
|
# forbidden errors allow attackers potential insight into your server's
|
||||||
|
# layout and contents
|
||||||
|
error_page 403 = 404;
|
||||||
|
|
||||||
|
# It's always good to set logs, note however you cannot turn off the error log
|
||||||
|
# setting error_log off; will simply create a file called 'off'.
|
||||||
|
access_log /var/log/nginx/example.com.access.log;
|
||||||
|
error_log /var/log/nginx/example.com.error.log;
|
||||||
|
|
||||||
|
# Add trailing slash to */wp-admin requests.
|
||||||
|
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
# This try_files directive is used to enable pretty, SEO-friendly URLs
|
||||||
|
# and permalinks for Wordpress. Leave it *off* to start with, and then
|
||||||
|
# turn it on once you've gotten Wordpress configured!
|
||||||
|
try_files $uri $uri/ /index.php?$args;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Option to create password protected directory
|
||||||
|
# http://www.howtoforge.com/basic-http-authentication-with-nginx
|
||||||
|
# location /admin {
|
||||||
|
# auth_basic "Administrator Login";
|
||||||
|
# auth_basic_user_file /var/www/domain.com/admin/.htpasswd;
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Do not log access to these to keep the logs cleaner
|
||||||
|
location = /favicon.ico {
|
||||||
|
log_not_found off;
|
||||||
|
access_log off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /apple-touch-icon.png {
|
||||||
|
log_not_found off;
|
||||||
|
access_log off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /apple-touch-icon-precomposed.png {
|
||||||
|
log_not_found off;
|
||||||
|
access_log off;
|
||||||
|
}
|
||||||
|
|
||||||
|
# This block will catch static file requests, such as images, css, js
|
||||||
|
# The ?: prefix is a 'non-capturing' mark, meaning we do not require
|
||||||
|
# the pattern to be captured into $1 which should help improve performance
|
||||||
|
location ~* \.(?:3gp|gif|jpg|jpe?g|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|woff)$ {
|
||||||
|
# Some basic cache-control for static files to be sent to the browser
|
||||||
|
expires max;
|
||||||
|
add_header Pragma public;
|
||||||
|
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
|
||||||
|
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
|
||||||
|
location ~ /\. {
|
||||||
|
access_log off;
|
||||||
|
log_not_found off;
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ ~$ {
|
||||||
|
access_log off;
|
||||||
|
log_not_found off;
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Common deny or internal locations, to help prevent access to areas of
|
||||||
|
# the site that should not be public
|
||||||
|
location ~* wp-admin/includes {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~* wp-includes/theme-compat/ {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~* wp-includes/js/tinymce/langs/.*\.php {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /wp-content/ {
|
||||||
|
internal;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Deny access to any files with a .php extension in the uploads directory
|
||||||
|
# Works in sub-directory installs and also in multisite network
|
||||||
|
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
|
||||||
|
location ~* /(?:uploads|files)/.*\.php$ {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make sure these get through, esp with dynamic WP sitmap plugin
|
||||||
|
location = /robots.txt {
|
||||||
|
try_files $uri /index.php;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /sitemap.xml {
|
||||||
|
try_files $uri /index.php;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /sitemap.xml.gz {
|
||||||
|
try_files $uri /index.php;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fix for Firefox issue with cross site font icons
|
||||||
|
location ~* \.(eot|otf|ttf|woff)$ {
|
||||||
|
add_header Access-Control-Allow-Origin *;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Redirect server error pages to the static page /50x.html
|
||||||
|
# Make sure 50x.html exists at that location
|
||||||
|
error_page 500 502 503 504 /50x.html;
|
||||||
|
location = /50x.html {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Cache everything by default
|
||||||
|
set $skip_cache 0;
|
||||||
|
|
||||||
|
# POST requests and urls with a query string should always go to PHP
|
||||||
|
if ($request_method = POST) {
|
||||||
|
set $skip_cache 1;
|
||||||
|
}
|
||||||
|
if ($query_string != "") {
|
||||||
|
set $skip_cache 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Don't cache uris containing the following segments
|
||||||
|
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
|
||||||
|
set $skip_cache 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Don't use the cache for logged in users or recent commenters
|
||||||
|
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
|
||||||
|
set $skip_cache 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass all .php files onto a php-fpm/php-fcgi server.
|
||||||
|
location ~ [^/]\.php(/|$) {
|
||||||
|
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
|
|
||||||
|
# Check that the PHP script exists before passing it
|
||||||
|
try_files $fastcgi_script_name =404;
|
||||||
|
|
||||||
|
# Bypass the fact that try_files resets $fastcgi_path_info
|
||||||
|
# see: http://trac.nginx.org/nginx/ticket/321
|
||||||
|
set $path_info $fastcgi_path_info;
|
||||||
|
fastcgi_param PATH_INFO $path_info;
|
||||||
|
|
||||||
|
fastcgi_pass unix:/var/run/example.com.sock;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
# Uncomment if site is HTTPS
|
||||||
|
#fastcgi_param HTTPS on;
|
||||||
|
include fastcgi.conf;
|
||||||
|
|
||||||
|
fastcgi_cache_bypass $skip_cache;
|
||||||
|
fastcgi_no_cache $skip_cache;
|
||||||
|
|
||||||
|
fastcgi_cache WORDPRESS;
|
||||||
|
fastcgi_cache_valid 60m;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /purge(/.*) {
|
||||||
|
fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Use this block if PHPMyAdmin is enabled for this domain
|
||||||
|
location /phpmyadmin {
|
||||||
|
root /usr/share/;
|
||||||
|
index index.php index.html index.htm;
|
||||||
|
|
||||||
|
location ~ ^/phpmyadmin/(.+\.php)$ {
|
||||||
|
try_files $uri =404;
|
||||||
|
root /usr/share/;
|
||||||
|
fastcgi_pass unix:/var/run/example.com.sock;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi.conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
|
||||||
|
root /usr/share/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
location /phpMyAdmin {
|
||||||
|
rewrite ^/* /phpmyadmin last;
|
||||||
|
}
|
||||||
|
# End PHPMyAdmin block
|
||||||
|
|
||||||
|
} # End of server block.
|
||||||
176
samples/Objective-C/gen-cocoa-linguist-thrift.m
Normal file
176
samples/Objective-C/gen-cocoa-linguist-thrift.m
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
/**
|
||||||
|
* Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||||
|
*
|
||||||
|
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||||
|
* @generated
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#import "TProtocol.h"
|
||||||
|
#import "TApplicationException.h"
|
||||||
|
#import "TProtocolException.h"
|
||||||
|
#import "TProtocolUtil.h"
|
||||||
|
#import "TProcessor.h"
|
||||||
|
#import "TObjective-C.h"
|
||||||
|
#import "TBase.h"
|
||||||
|
|
||||||
|
|
||||||
|
#import "linguist.h"
|
||||||
|
|
||||||
|
@implementation PullRequest
|
||||||
|
|
||||||
|
- (id) init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
|
||||||
|
#endif
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id) initWithTitle: (NSString *) title
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
__title = [title retain_stub];
|
||||||
|
__title_isset = YES;
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id) initWithCoder: (NSCoder *) decoder
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if ([decoder containsValueForKey: @"title"])
|
||||||
|
{
|
||||||
|
__title = [[decoder decodeObjectForKey: @"title"] retain_stub];
|
||||||
|
__title_isset = YES;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) encodeWithCoder: (NSCoder *) encoder
|
||||||
|
{
|
||||||
|
if (__title_isset)
|
||||||
|
{
|
||||||
|
[encoder encodeObject: __title forKey: @"title"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSUInteger) hash
|
||||||
|
{
|
||||||
|
NSUInteger hash = 17;
|
||||||
|
hash = (hash * 31) ^ __title_isset ? 2654435761 : 0;
|
||||||
|
if (__title_isset)
|
||||||
|
{
|
||||||
|
hash = (hash * 31) ^ [__title hash];
|
||||||
|
}
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL) isEqual: (id) anObject
|
||||||
|
{
|
||||||
|
if (self == anObject) {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
if (![anObject isKindOfClass:[PullRequest class]]) {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
PullRequest *other = (PullRequest *)anObject;
|
||||||
|
if ((__title_isset != other->__title_isset) ||
|
||||||
|
(__title_isset && ((__title || other->__title) && ![__title isEqual:other->__title]))) {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) dealloc
|
||||||
|
{
|
||||||
|
[__title release_stub];
|
||||||
|
[super dealloc_stub];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) title {
|
||||||
|
return [[__title retain_stub] autorelease_stub];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setTitle: (NSString *) title {
|
||||||
|
[title retain_stub];
|
||||||
|
[__title release_stub];
|
||||||
|
__title = title;
|
||||||
|
__title_isset = YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL) titleIsSet {
|
||||||
|
return __title_isset;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) unsetTitle {
|
||||||
|
[__title release_stub];
|
||||||
|
__title = nil;
|
||||||
|
__title_isset = NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) read: (id <TProtocol>) inProtocol
|
||||||
|
{
|
||||||
|
NSString * fieldName;
|
||||||
|
int fieldType;
|
||||||
|
int fieldID;
|
||||||
|
|
||||||
|
[inProtocol readStructBeginReturningName: NULL];
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
[inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
|
||||||
|
if (fieldType == TType_STOP) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch (fieldID)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
if (fieldType == TType_STRING) {
|
||||||
|
NSString * fieldValue = [inProtocol readString];
|
||||||
|
[self setTitle: fieldValue];
|
||||||
|
} else {
|
||||||
|
[TProtocolUtil skipType: fieldType onProtocol: inProtocol];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
[TProtocolUtil skipType: fieldType onProtocol: inProtocol];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
[inProtocol readFieldEnd];
|
||||||
|
}
|
||||||
|
[inProtocol readStructEnd];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) write: (id <TProtocol>) outProtocol {
|
||||||
|
[outProtocol writeStructBeginWithName: @"PullRequest"];
|
||||||
|
if (__title_isset) {
|
||||||
|
if (__title != nil) {
|
||||||
|
[outProtocol writeFieldBeginWithName: @"title" type: TType_STRING fieldID: 1];
|
||||||
|
[outProtocol writeString: __title];
|
||||||
|
[outProtocol writeFieldEnd];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[outProtocol writeFieldStop];
|
||||||
|
[outProtocol writeStructEnd];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) validate {
|
||||||
|
// check for required fields
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) description {
|
||||||
|
NSMutableString * ms = [NSMutableString stringWithString: @"PullRequest("];
|
||||||
|
[ms appendString: @"title:"];
|
||||||
|
[ms appendFormat: @"\"%@\"", __title];
|
||||||
|
[ms appendString: @")"];
|
||||||
|
return [NSString stringWithString: ms];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@implementation linguistConstants
|
||||||
|
+ (void) initialize {
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
13
samples/Perl/getchar.al
Normal file
13
samples/Perl/getchar.al
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# NOTE: Derived from ../../lib/POSIX.pm.
|
||||||
|
# Changes made here will be lost when autosplit is run again.
|
||||||
|
# See AutoSplit.pm.
|
||||||
|
package POSIX;
|
||||||
|
|
||||||
|
#line 318 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getchar.al)"
|
||||||
|
sub getchar {
|
||||||
|
usage "getchar()" if @_ != 0;
|
||||||
|
CORE::getc(STDIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
# end of POSIX::getchar
|
||||||
|
1;
|
||||||
165
samples/PicoLisp/simul.l
Normal file
165
samples/PicoLisp/simul.l
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
# 11dec13abu
|
||||||
|
# (c) Software Lab. Alexander Burger
|
||||||
|
|
||||||
|
(de permute (Lst)
|
||||||
|
(ifn (cdr Lst)
|
||||||
|
(cons Lst)
|
||||||
|
(mapcan
|
||||||
|
'((X)
|
||||||
|
(mapcar
|
||||||
|
'((Y) (cons X Y))
|
||||||
|
(permute (delete X Lst)) ) )
|
||||||
|
Lst ) ) )
|
||||||
|
|
||||||
|
(de subsets (N Lst)
|
||||||
|
(cond
|
||||||
|
((=0 N) '(NIL))
|
||||||
|
((not Lst))
|
||||||
|
(T
|
||||||
|
(conc
|
||||||
|
(mapcar
|
||||||
|
'((X) (cons (car Lst) X))
|
||||||
|
(subsets (dec N) (cdr Lst)) )
|
||||||
|
(subsets N (cdr Lst)) ) ) ) )
|
||||||
|
|
||||||
|
(de shuffle (Lst)
|
||||||
|
(by '(NIL (rand)) sort Lst) )
|
||||||
|
|
||||||
|
(de samples (Cnt Lst)
|
||||||
|
(make
|
||||||
|
(until (=0 Cnt)
|
||||||
|
(when (>= Cnt (rand 1 (length Lst)))
|
||||||
|
(link (car Lst))
|
||||||
|
(dec 'Cnt) )
|
||||||
|
(pop 'Lst) ) ) )
|
||||||
|
|
||||||
|
|
||||||
|
# Genetic Algorithm
|
||||||
|
(de gen ("Pop" "Cond" "Re" "Mu" "Se")
|
||||||
|
(until ("Cond" "Pop")
|
||||||
|
(for ("P" "Pop" "P" (cdr "P"))
|
||||||
|
(set "P"
|
||||||
|
(maxi "Se" # Selection
|
||||||
|
(make
|
||||||
|
(for ("P" "Pop" "P")
|
||||||
|
(rot "P" (rand 1 (length "P")))
|
||||||
|
(link # Recombination + Mutation
|
||||||
|
("Mu" ("Re" (pop '"P") (pop '"P"))) ) ) ) ) ) ) )
|
||||||
|
(maxi "Se" "Pop") )
|
||||||
|
|
||||||
|
|
||||||
|
# Alpha-Beta tree search
|
||||||
|
(de game ("Flg" "Cnt" "Moves" "Move" "Cost")
|
||||||
|
(let ("Alpha" '(1000000) "Beta" -1000000)
|
||||||
|
(recur ("Flg" "Cnt" "Alpha" "Beta")
|
||||||
|
(let? "Lst" ("Moves" "Flg")
|
||||||
|
(if (=0 (dec '"Cnt"))
|
||||||
|
(loop
|
||||||
|
("Move" (caar "Lst"))
|
||||||
|
(setq "*Val" (list ("Cost" "Flg") (car "Lst")))
|
||||||
|
("Move" (cdar "Lst"))
|
||||||
|
(T (>= "Beta" (car "*Val"))
|
||||||
|
(cons "Beta" (car "Lst") (cdr "Alpha")) )
|
||||||
|
(when (> (car "Alpha") (car "*Val"))
|
||||||
|
(setq "Alpha" "*Val") )
|
||||||
|
(NIL (setq "Lst" (cdr "Lst")) "Alpha") )
|
||||||
|
(setq "Lst"
|
||||||
|
(sort
|
||||||
|
(mapcar
|
||||||
|
'(("Mov")
|
||||||
|
(prog2
|
||||||
|
("Move" (car "Mov"))
|
||||||
|
(cons ("Cost" "Flg") "Mov")
|
||||||
|
("Move" (cdr "Mov")) ) )
|
||||||
|
"Lst" ) ) )
|
||||||
|
(loop
|
||||||
|
("Move" (cadar "Lst"))
|
||||||
|
(setq "*Val"
|
||||||
|
(if (recurse (not "Flg") "Cnt" (cons (- "Beta")) (- (car "Alpha")))
|
||||||
|
(cons (- (car @)) (cdar "Lst") (cdr @))
|
||||||
|
(list (caar "Lst") (cdar "Lst")) ) )
|
||||||
|
("Move" (cddar "Lst"))
|
||||||
|
(T (>= "Beta" (car "*Val"))
|
||||||
|
(cons "Beta" (cdar "Lst") (cdr "Alpha")) )
|
||||||
|
(when (> (car "Alpha") (car "*Val"))
|
||||||
|
(setq "Alpha" "*Val") )
|
||||||
|
(NIL (setq "Lst" (cdr "Lst")) "Alpha") ) ) ) ) ) )
|
||||||
|
|
||||||
|
|
||||||
|
### Grids ###
|
||||||
|
(de grid (DX DY FX FY)
|
||||||
|
(let Grid
|
||||||
|
(make
|
||||||
|
(for X DX
|
||||||
|
(link
|
||||||
|
(make
|
||||||
|
(for Y DY
|
||||||
|
(set
|
||||||
|
(link
|
||||||
|
(if (> DX 26)
|
||||||
|
(box)
|
||||||
|
(intern (pack (char (+ X 96)) Y)) ) )
|
||||||
|
(cons (cons) (cons)) ) ) ) ) ) )
|
||||||
|
(let West (and FX (last Grid))
|
||||||
|
(for (Lst Grid Lst)
|
||||||
|
(let
|
||||||
|
(Col (pop 'Lst)
|
||||||
|
East (or (car Lst) (and FX (car Grid)))
|
||||||
|
South (and FY (last Col)) )
|
||||||
|
(for (L Col L)
|
||||||
|
(with (pop 'L)
|
||||||
|
(set (: 0 1) (pop 'West)) # west
|
||||||
|
(con (: 0 1) (pop 'East)) # east
|
||||||
|
(set (: 0 -1) South) # south
|
||||||
|
(con (: 0 -1) # north
|
||||||
|
(or (car L) (and FY (car Col))) )
|
||||||
|
(setq South This) ) )
|
||||||
|
(setq West Col) ) ) )
|
||||||
|
Grid ) )
|
||||||
|
|
||||||
|
(de west (This)
|
||||||
|
(: 0 1 1) )
|
||||||
|
|
||||||
|
(de east (This)
|
||||||
|
(: 0 1 -1) )
|
||||||
|
|
||||||
|
(de south (This)
|
||||||
|
(: 0 -1 1) )
|
||||||
|
|
||||||
|
(de north (This)
|
||||||
|
(: 0 -1 -1) )
|
||||||
|
|
||||||
|
(de disp ("Grid" "How" "Fun" "X" "Y" "DX" "DY")
|
||||||
|
(setq "Grid"
|
||||||
|
(if "X"
|
||||||
|
(mapcar
|
||||||
|
'((L) (flip (head "DY" (nth L "Y"))))
|
||||||
|
(head "DX" (nth "Grid" "X")) )
|
||||||
|
(mapcar reverse "Grid") ) )
|
||||||
|
(let (N (+ (length (cdar "Grid")) (or "Y" 1)) Sp (length N))
|
||||||
|
("border" north)
|
||||||
|
(while (caar "Grid")
|
||||||
|
(prin " " (align Sp N) " "
|
||||||
|
(and "How" (if (and (nT "How") (west (caar "Grid"))) " " '|)) )
|
||||||
|
(for L "Grid"
|
||||||
|
(prin
|
||||||
|
("Fun" (car L))
|
||||||
|
(and "How" (if (and (nT "How") (east (car L))) " " '|)) ) )
|
||||||
|
(prinl)
|
||||||
|
("border" south)
|
||||||
|
(map pop "Grid")
|
||||||
|
(dec 'N) )
|
||||||
|
(unless (> (default "X" 1) 26)
|
||||||
|
(space (inc Sp))
|
||||||
|
(for @ "Grid"
|
||||||
|
(prin " " (and "How" " ") (char (+ 96 "X")))
|
||||||
|
(T (> (inc '"X") 26)) )
|
||||||
|
(prinl) ) ) )
|
||||||
|
|
||||||
|
(de "border" (Dir)
|
||||||
|
(when "How"
|
||||||
|
(space Sp)
|
||||||
|
(prin " +")
|
||||||
|
(for L "Grid"
|
||||||
|
(prin (if (and (nT "How") (Dir (car L))) " +" "---+")) )
|
||||||
|
(prinl) ) )
|
||||||
83
samples/Python/gen-py-linguist-thrift.py
Normal file
83
samples/Python/gen-py-linguist-thrift.py
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
#
|
||||||
|
# Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||||
|
#
|
||||||
|
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||||
|
#
|
||||||
|
# options string: py
|
||||||
|
#
|
||||||
|
|
||||||
|
from thrift.Thrift import TType, TMessageType, TException, TApplicationException
|
||||||
|
|
||||||
|
from thrift.transport import TTransport
|
||||||
|
from thrift.protocol import TBinaryProtocol, TProtocol
|
||||||
|
try:
|
||||||
|
from thrift.protocol import fastbinary
|
||||||
|
except:
|
||||||
|
fastbinary = None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class PullRequest:
|
||||||
|
"""
|
||||||
|
Attributes:
|
||||||
|
- title
|
||||||
|
"""
|
||||||
|
|
||||||
|
thrift_spec = (
|
||||||
|
None, # 0
|
||||||
|
(1, TType.STRING, 'title', None, None, ), # 1
|
||||||
|
)
|
||||||
|
|
||||||
|
def __init__(self, title=None,):
|
||||||
|
self.title = title
|
||||||
|
|
||||||
|
def read(self, iprot):
|
||||||
|
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
|
||||||
|
fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
|
||||||
|
return
|
||||||
|
iprot.readStructBegin()
|
||||||
|
while True:
|
||||||
|
(fname, ftype, fid) = iprot.readFieldBegin()
|
||||||
|
if ftype == TType.STOP:
|
||||||
|
break
|
||||||
|
if fid == 1:
|
||||||
|
if ftype == TType.STRING:
|
||||||
|
self.title = iprot.readString()
|
||||||
|
else:
|
||||||
|
iprot.skip(ftype)
|
||||||
|
else:
|
||||||
|
iprot.skip(ftype)
|
||||||
|
iprot.readFieldEnd()
|
||||||
|
iprot.readStructEnd()
|
||||||
|
|
||||||
|
def write(self, oprot):
|
||||||
|
if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
|
||||||
|
oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
|
||||||
|
return
|
||||||
|
oprot.writeStructBegin('PullRequest')
|
||||||
|
if self.title is not None:
|
||||||
|
oprot.writeFieldBegin('title', TType.STRING, 1)
|
||||||
|
oprot.writeString(self.title)
|
||||||
|
oprot.writeFieldEnd()
|
||||||
|
oprot.writeFieldStop()
|
||||||
|
oprot.writeStructEnd()
|
||||||
|
|
||||||
|
def validate(self):
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
def __hash__(self):
|
||||||
|
value = 17
|
||||||
|
value = (value * 31) ^ hash(self.title)
|
||||||
|
return value
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
L = ['%s=%r' % (key, value)
|
||||||
|
for key, value in self.__dict__.iteritems()]
|
||||||
|
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
||||||
|
|
||||||
|
def __eq__(self, other):
|
||||||
|
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
||||||
|
|
||||||
|
def __ne__(self, other):
|
||||||
|
return not (self == other)
|
||||||
155
samples/QML/common.qbs
Normal file
155
samples/QML/common.qbs
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2015 The Qt Company Ltd.
|
||||||
|
** Contact: http://www.qt.io/licensing
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Build Suite.
|
||||||
|
**
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and The Qt Company. For licensing terms and
|
||||||
|
** conditions see http://www.qt.io/terms-conditions. For further information
|
||||||
|
** use the contact form at http://www.qt.io/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 2.1 or version 3 as published by the Free
|
||||||
|
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
||||||
|
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
||||||
|
** following information to ensure the GNU Lesser General Public License
|
||||||
|
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
||||||
|
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, The Qt Company gives you certain additional
|
||||||
|
** rights. These rights are described in The Qt Company LGPL Exception
|
||||||
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
import qbs 1.0
|
||||||
|
import qbs.FileInfo
|
||||||
|
import qbs.ModUtils
|
||||||
|
|
||||||
|
Module {
|
||||||
|
property string buildVariant: "debug"
|
||||||
|
property bool enableDebugCode: buildVariant == "debug"
|
||||||
|
property bool debugInformation: (buildVariant == "debug")
|
||||||
|
property string optimization: (buildVariant == "debug" ? "none" : "fast")
|
||||||
|
readonly property stringList hostOS: undefined // set internally
|
||||||
|
property string hostOSVersion: {
|
||||||
|
if (hostOS && hostOS.contains("osx")) {
|
||||||
|
return getNativeSetting("/System/Library/CoreServices/ServerVersion.plist", "ProductVersion") ||
|
||||||
|
getNativeSetting("/System/Library/CoreServices/SystemVersion.plist", "ProductVersion");
|
||||||
|
} else if (hostOS && hostOS.contains("windows")) {
|
||||||
|
var version = getNativeSetting("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion", "CurrentVersion");
|
||||||
|
return version + "." + hostOSBuildVersion;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
property string hostOSBuildVersion: {
|
||||||
|
if (hostOS.contains("osx")) {
|
||||||
|
return getNativeSetting("/System/Library/CoreServices/ServerVersion.plist", "ProductBuildVersion") ||
|
||||||
|
getNativeSetting("/System/Library/CoreServices/SystemVersion.plist", "ProductBuildVersion");
|
||||||
|
} else if (hostOS.contains("windows")) {
|
||||||
|
return getNativeSetting("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion", "CurrentBuildNumber");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
readonly property var hostOSVersionParts: hostOSVersion ? hostOSVersion.split('.').map(function(item) { return parseInt(item, 10); }) : []
|
||||||
|
readonly property int hostOSVersionMajor: hostOSVersionParts[0] || 0
|
||||||
|
readonly property int hostOSVersionMinor: hostOSVersionParts[1] || 0
|
||||||
|
readonly property int hostOSVersionPatch: hostOSVersionParts[2] || 0
|
||||||
|
|
||||||
|
property stringList targetOS: hostOS
|
||||||
|
property string pathListSeparator: hostOS.contains("windows") ? ";" : ":"
|
||||||
|
property string pathSeparator: hostOS.contains("windows") ? "\\" : "/"
|
||||||
|
property string profile
|
||||||
|
property stringList toolchain
|
||||||
|
property string architecture
|
||||||
|
property bool install: false
|
||||||
|
property string installSourceBase
|
||||||
|
readonly property string installRoot: undefined
|
||||||
|
property string installDir
|
||||||
|
property string installPrefix: ""
|
||||||
|
property path sysroot
|
||||||
|
|
||||||
|
PropertyOptions {
|
||||||
|
name: "buildVariant"
|
||||||
|
allowedValues: ['debug', 'release']
|
||||||
|
description: "name of the build variant"
|
||||||
|
}
|
||||||
|
|
||||||
|
PropertyOptions {
|
||||||
|
name: "optimization"
|
||||||
|
allowedValues: ['none', 'fast', 'small']
|
||||||
|
description: "optimization level"
|
||||||
|
}
|
||||||
|
|
||||||
|
validate: {
|
||||||
|
var validator = new ModUtils.PropertyValidator("qbs");
|
||||||
|
validator.setRequiredProperty("architecture", architecture,
|
||||||
|
"you might want to re-run 'qbs-setup-toolchains'");
|
||||||
|
validator.setRequiredProperty("hostOS", hostOS);
|
||||||
|
validator.setRequiredProperty("targetOS", targetOS);
|
||||||
|
if (hostOS && (hostOS.contains("windows") || hostOS.contains("osx"))) {
|
||||||
|
validator.setRequiredProperty("hostOSVersion", hostOSVersion,
|
||||||
|
"could not detect host operating system version; " +
|
||||||
|
"verify that system files and registry keys have not " +
|
||||||
|
"been modified.");
|
||||||
|
if (hostOSVersion)
|
||||||
|
validator.addVersionValidator("hostOSVersion", hostOSVersion, 2, 4);
|
||||||
|
|
||||||
|
validator.setRequiredProperty("hostOSBuildVersion", hostOSBuildVersion,
|
||||||
|
"could not detect host operating system build version; " +
|
||||||
|
"verify that system files or registry have not been " +
|
||||||
|
"tampered with.");
|
||||||
|
}
|
||||||
|
|
||||||
|
validator.addCustomValidator("architecture", architecture, function (value) {
|
||||||
|
return architecture === canonicalArchitecture(architecture);
|
||||||
|
}, "'" + architecture + "' is invalid. You must use the canonical name '" +
|
||||||
|
canonicalArchitecture(architecture) + "'");
|
||||||
|
|
||||||
|
validator.validate();
|
||||||
|
}
|
||||||
|
|
||||||
|
// private properties
|
||||||
|
property var commonRunEnvironment: {
|
||||||
|
var env = {};
|
||||||
|
if (targetOS.contains("windows")) {
|
||||||
|
env["PATH"] = [
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix)
|
||||||
|
];
|
||||||
|
} else if (hostOS.contains("darwin") && targetOS.contains("darwin")) {
|
||||||
|
env["DYLD_FRAMEWORK_PATH"] = [
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix, "Library", "Frameworks"),
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix, "lib"),
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix)
|
||||||
|
].join(pathListSeparator);
|
||||||
|
|
||||||
|
env["DYLD_LIBRARY_PATH"] = [
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix, "lib"),
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix, "Library", "Frameworks"),
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix)
|
||||||
|
].join(pathListSeparator);
|
||||||
|
|
||||||
|
if (targetOS.contains("ios-simulator") && sysroot) {
|
||||||
|
env["DYLD_ROOT_PATH"] = [sysroot];
|
||||||
|
}
|
||||||
|
} else if (hostOS.contains("unix") && targetOS.contains("unix")) {
|
||||||
|
env["LD_LIBRARY_PATH"] = [
|
||||||
|
FileInfo.joinPaths(installRoot, installPrefix, "lib")
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return env;
|
||||||
|
}
|
||||||
|
|
||||||
|
// internal properties
|
||||||
|
readonly property string version: [versionMajor, versionMinor, versionPatch].join(".")
|
||||||
|
readonly property int versionMajor: undefined // set internally
|
||||||
|
readonly property int versionMinor: undefined // set internally
|
||||||
|
readonly property int versionPatch: undefined // set internally
|
||||||
|
}
|
||||||
9
samples/Ruby/gen-rb-linguist-thrift.rb
Normal file
9
samples/Ruby/gen-rb-linguist-thrift.rb
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||||
|
#
|
||||||
|
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'thrift'
|
||||||
|
require 'linguist_types'
|
||||||
|
|
||||||
4
samples/Ruby/rexpl
Executable file
4
samples/Ruby/rexpl
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env rbx
|
||||||
|
$: << 'lib'
|
||||||
|
require 'rexpl'
|
||||||
|
Rexpl::Environment.run
|
||||||
11
samples/Ruby/shoes-swt
Executable file
11
samples/Ruby/shoes-swt
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/env jruby
|
||||||
|
lib_directory = File.expand_path('../../lib', __FILE__)
|
||||||
|
$LOAD_PATH << lib_directory
|
||||||
|
|
||||||
|
if File.exist?("Gemfile")
|
||||||
|
require "bundler/setup"
|
||||||
|
Bundler.require
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'shoes/ui/cli'
|
||||||
|
Shoes::CLI.new("swt").run ARGV
|
||||||
551
samples/Smali/ActionBarDrawerToggle.smali
Normal file
551
samples/Smali/ActionBarDrawerToggle.smali
Normal file
@@ -0,0 +1,551 @@
|
|||||||
|
.class public Landroid/support/v4/app/ActionBarDrawerToggle;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ActionBarDrawerToggle.java"
|
||||||
|
|
||||||
|
# interfaces
|
||||||
|
.implements Landroid/support/v4/widget/DrawerLayout$DrawerListener;
|
||||||
|
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/MemberClasses;
|
||||||
|
value = {
|
||||||
|
Landroid/support/v4/app/ActionBarDrawerToggle$1;,
|
||||||
|
Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;,
|
||||||
|
Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplHC;,
|
||||||
|
Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplBase;,
|
||||||
|
Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field private static final ID_HOME:I = 0x102002c
|
||||||
|
|
||||||
|
.field private static final IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
.field private final mCloseDrawerContentDescRes:I
|
||||||
|
|
||||||
|
.field private mDrawerImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.field private final mDrawerImageResource:I
|
||||||
|
|
||||||
|
.field private mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
.field private final mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
.field private final mOpenDrawerContentDescRes:I
|
||||||
|
|
||||||
|
.field private mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
.field private mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
.field private mThemeImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method static constructor <clinit>()V
|
||||||
|
.registers 3
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
.line 108
|
||||||
|
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
|
||||||
|
|
||||||
|
.line 109
|
||||||
|
.local v0, "version":I
|
||||||
|
const/16 v1, 0xb
|
||||||
|
|
||||||
|
if-lt v0, v1, :cond_f
|
||||||
|
|
||||||
|
.line 110
|
||||||
|
new-instance v1, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplHC;
|
||||||
|
|
||||||
|
invoke-direct {v1, v2}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplHC;-><init>(Landroid/support/v4/app/ActionBarDrawerToggle$1;)V
|
||||||
|
|
||||||
|
sput-object v1, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
.line 114
|
||||||
|
:goto_e
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 112
|
||||||
|
:cond_f
|
||||||
|
new-instance v1, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplBase;
|
||||||
|
|
||||||
|
invoke-direct {v1, v2}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplBase;-><init>(Landroid/support/v4/app/ActionBarDrawerToggle$1;)V
|
||||||
|
|
||||||
|
sput-object v1, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
goto :goto_e
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public constructor <init>(Landroid/app/Activity;Landroid/support/v4/widget/DrawerLayout;III)V
|
||||||
|
.registers 8
|
||||||
|
.param p1, "activity" # Landroid/app/Activity;
|
||||||
|
.param p2, "drawerLayout" # Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
.param p3, "drawerImageRes" # I
|
||||||
|
.param p4, "openDrawerContentDescRes" # I
|
||||||
|
.param p5, "closeDrawerContentDescRes" # I
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 152
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
.line 121
|
||||||
|
const/4 v0, 0x1
|
||||||
|
|
||||||
|
iput-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
.line 153
|
||||||
|
iput-object p1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
.line 154
|
||||||
|
iput-object p2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
.line 155
|
||||||
|
iput p3, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImageResource:I
|
||||||
|
|
||||||
|
.line 156
|
||||||
|
iput p4, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I
|
||||||
|
|
||||||
|
.line 157
|
||||||
|
iput p5, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I
|
||||||
|
|
||||||
|
.line 159
|
||||||
|
sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
invoke-interface {v0, p1}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->getThemeUpIndicator(Landroid/app/Activity;)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mThemeImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.line 160
|
||||||
|
invoke-virtual {p1}, Landroid/app/Activity;->getResources()Landroid/content/res/Resources;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0, p3}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.line 161
|
||||||
|
new-instance v0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;-><init>(Landroid/graphics/drawable/Drawable;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
.line 162
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
const v1, 0x3eaaaaab
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffsetBy(F)V
|
||||||
|
|
||||||
|
.line 163
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public isDrawerIndicatorEnabled()Z
|
||||||
|
.registers 2
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 217
|
||||||
|
iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onConfigurationChanged(Landroid/content/res/Configuration;)V
|
||||||
|
.registers 4
|
||||||
|
.param p1, "newConfig" # Landroid/content/res/Configuration;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 229
|
||||||
|
sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
invoke-interface {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->getThemeUpIndicator(Landroid/app/Activity;)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mThemeImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.line 230
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/app/Activity;->getResources()Landroid/content/res/Resources;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImageResource:I
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
.line 231
|
||||||
|
invoke-virtual {p0}, Landroid/support/v4/app/ActionBarDrawerToggle;->syncState()V
|
||||||
|
|
||||||
|
.line 232
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onDrawerClosed(Landroid/view/View;)V
|
||||||
|
.registers 6
|
||||||
|
.param p1, "drawerView" # Landroid/view/View;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 298
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V
|
||||||
|
|
||||||
|
.line 299
|
||||||
|
iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
if-eqz v0, :cond_18
|
||||||
|
|
||||||
|
.line 300
|
||||||
|
sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
iget v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I
|
||||||
|
|
||||||
|
invoke-interface {v0, v1, v2, v3}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->setActionBarDescription(Ljava/lang/Object;Landroid/app/Activity;I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
.line 303
|
||||||
|
:cond_18
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onDrawerOpened(Landroid/view/View;)V
|
||||||
|
.registers 6
|
||||||
|
.param p1, "drawerView" # Landroid/view/View;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 282
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
const/high16 v1, 0x3f800000
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V
|
||||||
|
|
||||||
|
.line 283
|
||||||
|
iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
if-eqz v0, :cond_19
|
||||||
|
|
||||||
|
.line 284
|
||||||
|
sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
iget v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I
|
||||||
|
|
||||||
|
invoke-interface {v0, v1, v2, v3}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->setActionBarDescription(Ljava/lang/Object;Landroid/app/Activity;I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
.line 287
|
||||||
|
:cond_19
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onDrawerSlide(Landroid/view/View;F)V
|
||||||
|
.registers 7
|
||||||
|
.param p1, "drawerView" # Landroid/view/View;
|
||||||
|
.param p2, "slideOffset" # F
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const/high16 v3, 0x40000000
|
||||||
|
|
||||||
|
const/high16 v2, 0x3f000000
|
||||||
|
|
||||||
|
.line 264
|
||||||
|
iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->getOffset()F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
.line 265
|
||||||
|
.local v0, "glyphOffset":F
|
||||||
|
cmpl-float v1, p2, v2
|
||||||
|
|
||||||
|
if-lez v1, :cond_20
|
||||||
|
|
||||||
|
.line 266
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
sub-float v2, p2, v2
|
||||||
|
|
||||||
|
invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
mul-float/2addr v1, v3
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
.line 270
|
||||||
|
:goto_1a
|
||||||
|
iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V
|
||||||
|
|
||||||
|
.line 271
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 268
|
||||||
|
:cond_20
|
||||||
|
mul-float v1, p2, v3
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
goto :goto_1a
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onDrawerStateChanged(I)V
|
||||||
|
.registers 2
|
||||||
|
.param p1, "newState" # I
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 314
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public onOptionsItemSelected(Landroid/view/MenuItem;)Z
|
||||||
|
.registers 5
|
||||||
|
.param p1, "item" # Landroid/view/MenuItem;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const v2, 0x800003
|
||||||
|
|
||||||
|
.line 244
|
||||||
|
if-eqz p1, :cond_1f
|
||||||
|
|
||||||
|
invoke-interface {p1}, Landroid/view/MenuItem;->getItemId()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
const v1, 0x102002c
|
||||||
|
|
||||||
|
if-ne v0, v1, :cond_1f
|
||||||
|
|
||||||
|
iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
if-eqz v0, :cond_1f
|
||||||
|
|
||||||
|
.line 245
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->isDrawerVisible(I)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :cond_21
|
||||||
|
|
||||||
|
.line 246
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->closeDrawer(I)V
|
||||||
|
|
||||||
|
.line 251
|
||||||
|
:cond_1f
|
||||||
|
:goto_1f
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
|
||||||
|
.line 248
|
||||||
|
:cond_21
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->openDrawer(I)V
|
||||||
|
|
||||||
|
goto :goto_1f
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public setDrawerIndicatorEnabled(Z)V
|
||||||
|
.registers 8
|
||||||
|
.param p1, "enable" # Z
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 199
|
||||||
|
iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
if-eq p1, v0, :cond_23
|
||||||
|
|
||||||
|
.line 200
|
||||||
|
if-eqz p1, :cond_27
|
||||||
|
|
||||||
|
.line 201
|
||||||
|
sget-object v1, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
iget-object v2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
iget-object v4, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
const v5, 0x800003
|
||||||
|
|
||||||
|
invoke-virtual {v0, v5}, Landroid/support/v4/widget/DrawerLayout;->isDrawerOpen(I)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :cond_24
|
||||||
|
|
||||||
|
iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I
|
||||||
|
|
||||||
|
:goto_1b
|
||||||
|
invoke-interface {v1, v2, v3, v4, v0}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->setActionBarUpIndicator(Ljava/lang/Object;Landroid/app/Activity;Landroid/graphics/drawable/Drawable;I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
.line 208
|
||||||
|
:goto_21
|
||||||
|
iput-boolean p1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
.line 210
|
||||||
|
:cond_23
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 201
|
||||||
|
:cond_24
|
||||||
|
iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I
|
||||||
|
|
||||||
|
goto :goto_1b
|
||||||
|
|
||||||
|
.line 205
|
||||||
|
:cond_27
|
||||||
|
sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
iget-object v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mThemeImage:Landroid/graphics/drawable/Drawable;
|
||||||
|
|
||||||
|
const/4 v4, 0x0
|
||||||
|
|
||||||
|
invoke-interface {v0, v1, v2, v3, v4}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->setActionBarUpIndicator(Ljava/lang/Object;Landroid/app/Activity;Landroid/graphics/drawable/Drawable;I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
goto :goto_21
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public syncState()V
|
||||||
|
.registers 7
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const v5, 0x800003
|
||||||
|
|
||||||
|
.line 175
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v5}, Landroid/support/v4/widget/DrawerLayout;->isDrawerOpen(I)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :cond_2f
|
||||||
|
|
||||||
|
.line 176
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
const/high16 v1, 0x3f800000
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V
|
||||||
|
|
||||||
|
.line 181
|
||||||
|
:goto_12
|
||||||
|
iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z
|
||||||
|
|
||||||
|
if-eqz v0, :cond_2e
|
||||||
|
|
||||||
|
.line 182
|
||||||
|
sget-object v1, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;
|
||||||
|
|
||||||
|
iget-object v2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
iget-object v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity;
|
||||||
|
|
||||||
|
iget-object v4, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout;
|
||||||
|
|
||||||
|
invoke-virtual {v0, v5}, Landroid/support/v4/widget/DrawerLayout;->isDrawerOpen(I)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :cond_36
|
||||||
|
|
||||||
|
iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I
|
||||||
|
|
||||||
|
:goto_28
|
||||||
|
invoke-interface {v1, v2, v3, v4, v0}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->setActionBarUpIndicator(Ljava/lang/Object;Landroid/app/Activity;Landroid/graphics/drawable/Drawable;I)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object;
|
||||||
|
|
||||||
|
.line 186
|
||||||
|
:cond_2e
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 178
|
||||||
|
:cond_2f
|
||||||
|
iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V
|
||||||
|
|
||||||
|
goto :goto_12
|
||||||
|
|
||||||
|
.line 182
|
||||||
|
:cond_36
|
||||||
|
iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I
|
||||||
|
|
||||||
|
goto :goto_28
|
||||||
|
.end method
|
||||||
4235
samples/Smali/DoodleMobileAnaylise.smali
Normal file
4235
samples/Smali/DoodleMobileAnaylise.smali
Normal file
File diff suppressed because it is too large
Load Diff
700
samples/Smali/ModernAsyncTask.smali
Normal file
700
samples/Smali/ModernAsyncTask.smali
Normal file
@@ -0,0 +1,700 @@
|
|||||||
|
.class abstract Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
.super Ljava/lang/Object;
|
||||||
|
.source "ModernAsyncTask.java"
|
||||||
|
|
||||||
|
|
||||||
|
# annotations
|
||||||
|
.annotation system Ldalvik/annotation/MemberClasses;
|
||||||
|
value = {
|
||||||
|
Landroid/support/v4/content/ModernAsyncTask$4;,
|
||||||
|
Landroid/support/v4/content/ModernAsyncTask$AsyncTaskResult;,
|
||||||
|
Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable;,
|
||||||
|
Landroid/support/v4/content/ModernAsyncTask$InternalHandler;,
|
||||||
|
Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"<Params:",
|
||||||
|
"Ljava/lang/Object;",
|
||||||
|
"Progress:",
|
||||||
|
"Ljava/lang/Object;",
|
||||||
|
"Result:",
|
||||||
|
"Ljava/lang/Object;",
|
||||||
|
">",
|
||||||
|
"Ljava/lang/Object;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field private static final CORE_POOL_SIZE:I = 0x5
|
||||||
|
|
||||||
|
.field private static final KEEP_ALIVE:I = 0x1
|
||||||
|
|
||||||
|
.field private static final LOG_TAG:Ljava/lang/String; = "AsyncTask"
|
||||||
|
|
||||||
|
.field private static final MAXIMUM_POOL_SIZE:I = 0x80
|
||||||
|
|
||||||
|
.field private static final MESSAGE_POST_PROGRESS:I = 0x2
|
||||||
|
|
||||||
|
.field private static final MESSAGE_POST_RESULT:I = 0x1
|
||||||
|
|
||||||
|
.field public static final THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
.field private static volatile sDefaultExecutor:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
.field private static final sHandler:Landroid/support/v4/content/ModernAsyncTask$InternalHandler;
|
||||||
|
|
||||||
|
.field private static final sPoolWorkQueue:Ljava/util/concurrent/BlockingQueue;
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"Ljava/util/concurrent/BlockingQueue",
|
||||||
|
"<",
|
||||||
|
"Ljava/lang/Runnable;",
|
||||||
|
">;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
.end field
|
||||||
|
|
||||||
|
.field private static final sThreadFactory:Ljava/util/concurrent/ThreadFactory;
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private final mFuture:Ljava/util/concurrent/FutureTask;
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"Ljava/util/concurrent/FutureTask",
|
||||||
|
"<TResult;>;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
.end field
|
||||||
|
|
||||||
|
.field private volatile mStatus:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
.field private final mTaskInvoked:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||||
|
|
||||||
|
.field private final mWorker:Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable;
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable",
|
||||||
|
"<TParams;TResult;>;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
.end field
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method static constructor <clinit>()V
|
||||||
|
.registers 8
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 54
|
||||||
|
new-instance v0, Landroid/support/v4/content/ModernAsyncTask$1;
|
||||||
|
|
||||||
|
invoke-direct {v0}, Landroid/support/v4/content/ModernAsyncTask$1;-><init>()V
|
||||||
|
|
||||||
|
sput-object v0, Landroid/support/v4/content/ModernAsyncTask;->sThreadFactory:Ljava/util/concurrent/ThreadFactory;
|
||||||
|
|
||||||
|
.line 62
|
||||||
|
new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;
|
||||||
|
|
||||||
|
const/16 v1, 0xa
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>(I)V
|
||||||
|
|
||||||
|
sput-object v0, Landroid/support/v4/content/ModernAsyncTask;->sPoolWorkQueue:Ljava/util/concurrent/BlockingQueue;
|
||||||
|
|
||||||
|
.line 68
|
||||||
|
new-instance v0, Ljava/util/concurrent/ThreadPoolExecutor;
|
||||||
|
|
||||||
|
const/4 v1, 0x5
|
||||||
|
|
||||||
|
const/16 v2, 0x80
|
||||||
|
|
||||||
|
const-wide/16 v3, 0x1
|
||||||
|
|
||||||
|
sget-object v5, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
|
||||||
|
|
||||||
|
sget-object v6, Landroid/support/v4/content/ModernAsyncTask;->sPoolWorkQueue:Ljava/util/concurrent/BlockingQueue;
|
||||||
|
|
||||||
|
sget-object v7, Landroid/support/v4/content/ModernAsyncTask;->sThreadFactory:Ljava/util/concurrent/ThreadFactory;
|
||||||
|
|
||||||
|
invoke-direct/range {v0 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
|
||||||
|
|
||||||
|
sput-object v0, Landroid/support/v4/content/ModernAsyncTask;->THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
.line 75
|
||||||
|
new-instance v0, Landroid/support/v4/content/ModernAsyncTask$InternalHandler;
|
||||||
|
|
||||||
|
const/4 v1, 0x0
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Landroid/support/v4/content/ModernAsyncTask$InternalHandler;-><init>(Landroid/support/v4/content/ModernAsyncTask$1;)V
|
||||||
|
|
||||||
|
sput-object v0, Landroid/support/v4/content/ModernAsyncTask;->sHandler:Landroid/support/v4/content/ModernAsyncTask$InternalHandler;
|
||||||
|
|
||||||
|
.line 77
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask;->THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
sput-object v0, Landroid/support/v4/content/ModernAsyncTask;->sDefaultExecutor:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public constructor <init>()V
|
||||||
|
.registers 3
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 117
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||||
|
|
||||||
|
.line 81
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask$Status;->PENDING:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mStatus:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
.line 83
|
||||||
|
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||||
|
|
||||||
|
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mTaskInvoked:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||||
|
|
||||||
|
.line 118
|
||||||
|
new-instance v0, Landroid/support/v4/content/ModernAsyncTask$2;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0}, Landroid/support/v4/content/ModernAsyncTask$2;-><init>(Landroid/support/v4/content/ModernAsyncTask;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mWorker:Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable;
|
||||||
|
|
||||||
|
.line 127
|
||||||
|
new-instance v0, Landroid/support/v4/content/ModernAsyncTask$3;
|
||||||
|
|
||||||
|
iget-object v1, p0, Landroid/support/v4/content/ModernAsyncTask;->mWorker:Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable;
|
||||||
|
|
||||||
|
invoke-direct {v0, p0, v1}, Landroid/support/v4/content/ModernAsyncTask$3;-><init>(Landroid/support/v4/content/ModernAsyncTask;Ljava/util/concurrent/Callable;)V
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
|
||||||
|
|
||||||
|
.line 147
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method static synthetic access$200(Landroid/support/v4/content/ModernAsyncTask;)Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||||
|
.registers 2
|
||||||
|
.param p0, "x0" # Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 47
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mTaskInvoked:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method static synthetic access$300(Landroid/support/v4/content/ModernAsyncTask;Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.registers 3
|
||||||
|
.param p0, "x0" # Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
.param p1, "x1" # Ljava/lang/Object;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 47
|
||||||
|
invoke-direct {p0, p1}, Landroid/support/v4/content/ModernAsyncTask;->postResult(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method static synthetic access$400(Landroid/support/v4/content/ModernAsyncTask;Ljava/lang/Object;)V
|
||||||
|
.registers 2
|
||||||
|
.param p0, "x0" # Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
.param p1, "x1" # Ljava/lang/Object;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 47
|
||||||
|
invoke-direct {p0, p1}, Landroid/support/v4/content/ModernAsyncTask;->postResultIfNotInvoked(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method static synthetic access$500(Landroid/support/v4/content/ModernAsyncTask;Ljava/lang/Object;)V
|
||||||
|
.registers 2
|
||||||
|
.param p0, "x0" # Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
.param p1, "x1" # Ljava/lang/Object;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 47
|
||||||
|
invoke-direct {p0, p1}, Landroid/support/v4/content/ModernAsyncTask;->finish(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static execute(Ljava/lang/Runnable;)V
|
||||||
|
.registers 2
|
||||||
|
.param p0, "runnable" # Ljava/lang/Runnable;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 433
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask;->sDefaultExecutor:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
invoke-interface {v0, p0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
|
||||||
|
|
||||||
|
.line 434
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private finish(Ljava/lang/Object;)V
|
||||||
|
.registers 3
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"(TResult;)V"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 458
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "result":Ljava/lang/Object;, "TResult;"
|
||||||
|
invoke-virtual {p0}, Landroid/support/v4/content/ModernAsyncTask;->isCancelled()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-eqz v0, :cond_e
|
||||||
|
|
||||||
|
.line 459
|
||||||
|
invoke-virtual {p0, p1}, Landroid/support/v4/content/ModernAsyncTask;->onCancelled(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
.line 463
|
||||||
|
:goto_9
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask$Status;->FINISHED:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mStatus:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
.line 464
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 461
|
||||||
|
:cond_e
|
||||||
|
invoke-virtual {p0, p1}, Landroid/support/v4/content/ModernAsyncTask;->onPostExecute(Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
goto :goto_9
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static init()V
|
||||||
|
.registers 1
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 106
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask;->sHandler:Landroid/support/v4/content/ModernAsyncTask$InternalHandler;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/support/v4/content/ModernAsyncTask$InternalHandler;->getLooper()Landroid/os/Looper;
|
||||||
|
|
||||||
|
.line 107
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private postResult(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.registers 8
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"(TResult;)TResult;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "result":Ljava/lang/Object;, "TResult;"
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
.line 157
|
||||||
|
sget-object v1, Landroid/support/v4/content/ModernAsyncTask;->sHandler:Landroid/support/v4/content/ModernAsyncTask$InternalHandler;
|
||||||
|
|
||||||
|
new-instance v2, Landroid/support/v4/content/ModernAsyncTask$AsyncTaskResult;
|
||||||
|
|
||||||
|
new-array v3, v5, [Ljava/lang/Object;
|
||||||
|
|
||||||
|
const/4 v4, 0x0
|
||||||
|
|
||||||
|
aput-object p1, v3, v4
|
||||||
|
|
||||||
|
invoke-direct {v2, p0, v3}, Landroid/support/v4/content/ModernAsyncTask$AsyncTaskResult;-><init>(Landroid/support/v4/content/ModernAsyncTask;[Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
invoke-virtual {v1, v5, v2}, Landroid/support/v4/content/ModernAsyncTask$InternalHandler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
.line 159
|
||||||
|
.local v0, "message":Landroid/os/Message;
|
||||||
|
invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
|
||||||
|
|
||||||
|
.line 160
|
||||||
|
return-object p1
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method private postResultIfNotInvoked(Ljava/lang/Object;)V
|
||||||
|
.registers 4
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"(TResult;)V"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 150
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "result":Ljava/lang/Object;, "TResult;"
|
||||||
|
iget-object v1, p0, Landroid/support/v4/content/ModernAsyncTask;->mTaskInvoked:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
.line 151
|
||||||
|
.local v0, "wasTaskInvoked":Z
|
||||||
|
if-nez v0, :cond_b
|
||||||
|
|
||||||
|
.line 152
|
||||||
|
invoke-direct {p0, p1}, Landroid/support/v4/content/ModernAsyncTask;->postResult(Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
.line 154
|
||||||
|
:cond_b
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public static setDefaultExecutor(Ljava/util/concurrent/Executor;)V
|
||||||
|
.registers 1
|
||||||
|
.param p0, "exec" # Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 111
|
||||||
|
sput-object p0, Landroid/support/v4/content/ModernAsyncTask;->sDefaultExecutor:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
.line 112
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public final cancel(Z)Z
|
||||||
|
.registers 3
|
||||||
|
.param p1, "mayInterruptIfRunning" # Z
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 306
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1}, Ljava/util/concurrent/FutureTask;->cancel(Z)Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method protected varargs abstract doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"([TParams;)TResult;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public final varargs execute([Ljava/lang/Object;)Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
.registers 3
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"([TParams;)",
|
||||||
|
"Landroid/support/v4/content/ModernAsyncTask",
|
||||||
|
"<TParams;TProgress;TResult;>;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 371
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "params":[Ljava/lang/Object;, "[TParams;"
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask;->sDefaultExecutor:Ljava/util/concurrent/Executor;
|
||||||
|
|
||||||
|
invoke-virtual {p0, v0, p1}, Landroid/support/v4/content/ModernAsyncTask;->executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public final varargs executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/support/v4/content/ModernAsyncTask;
|
||||||
|
.registers 5
|
||||||
|
.param p1, "exec" # Ljava/util/concurrent/Executor;
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"(",
|
||||||
|
"Ljava/util/concurrent/Executor;",
|
||||||
|
"[TParams;)",
|
||||||
|
"Landroid/support/v4/content/ModernAsyncTask",
|
||||||
|
"<TParams;TProgress;TResult;>;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 406
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p2, "params":[Ljava/lang/Object;, "[TParams;"
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mStatus:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
sget-object v1, Landroid/support/v4/content/ModernAsyncTask$Status;->PENDING:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
if-eq v0, v1, :cond_13
|
||||||
|
|
||||||
|
.line 407
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask$4;->$SwitchMap$android$support$v4$content$ModernAsyncTask$Status:[I
|
||||||
|
|
||||||
|
iget-object v1, p0, Landroid/support/v4/content/ModernAsyncTask;->mStatus:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
invoke-virtual {v1}, Landroid/support/v4/content/ModernAsyncTask$Status;->ordinal()I
|
||||||
|
|
||||||
|
move-result v1
|
||||||
|
|
||||||
|
aget v0, v0, v1
|
||||||
|
|
||||||
|
packed-switch v0, :pswitch_data_34
|
||||||
|
|
||||||
|
.line 418
|
||||||
|
:cond_13
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask$Status;->RUNNING:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
iput-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mStatus:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
.line 420
|
||||||
|
invoke-virtual {p0}, Landroid/support/v4/content/ModernAsyncTask;->onPreExecute()V
|
||||||
|
|
||||||
|
.line 422
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mWorker:Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable;
|
||||||
|
|
||||||
|
iput-object p2, v0, Landroid/support/v4/content/ModernAsyncTask$WorkerRunnable;->mParams:[Ljava/lang/Object;
|
||||||
|
|
||||||
|
.line 423
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
|
||||||
|
|
||||||
|
invoke-interface {p1, v0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
|
||||||
|
|
||||||
|
.line 425
|
||||||
|
return-object p0
|
||||||
|
|
||||||
|
.line 409
|
||||||
|
:pswitch_24
|
||||||
|
new-instance v0, Ljava/lang/IllegalStateException;
|
||||||
|
|
||||||
|
const-string v1, "Cannot execute task: the task is already running."
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
throw v0
|
||||||
|
|
||||||
|
.line 412
|
||||||
|
:pswitch_2c
|
||||||
|
new-instance v0, Ljava/lang/IllegalStateException;
|
||||||
|
|
||||||
|
const-string v1, "Cannot execute task: the task has already been executed (a task can be executed only once)"
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
throw v0
|
||||||
|
|
||||||
|
.line 407
|
||||||
|
:pswitch_data_34
|
||||||
|
.packed-switch 0x1
|
||||||
|
:pswitch_24
|
||||||
|
:pswitch_2c
|
||||||
|
.end packed-switch
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public final get()Ljava/lang/Object;
|
||||||
|
.registers 2
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"()TResult;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/Throws;
|
||||||
|
value = {
|
||||||
|
Ljava/lang/InterruptedException;,
|
||||||
|
Ljava/util/concurrent/ExecutionException;
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 321
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/util/concurrent/FutureTask;->get()Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public final get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
|
||||||
|
.registers 5
|
||||||
|
.param p1, "timeout" # J
|
||||||
|
.param p3, "unit" # Ljava/util/concurrent/TimeUnit;
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"(J",
|
||||||
|
"Ljava/util/concurrent/TimeUnit;",
|
||||||
|
")TResult;"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.annotation system Ldalvik/annotation/Throws;
|
||||||
|
value = {
|
||||||
|
Ljava/lang/InterruptedException;,
|
||||||
|
Ljava/util/concurrent/ExecutionException;,
|
||||||
|
Ljava/util/concurrent/TimeoutException;
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 341
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/FutureTask;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public final getStatus()Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
.registers 2
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 169
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mStatus:Landroid/support/v4/content/ModernAsyncTask$Status;
|
||||||
|
|
||||||
|
return-object v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public final isCancelled()Z
|
||||||
|
.registers 2
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 273
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
iget-object v0, p0, Landroid/support/v4/content/ModernAsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/util/concurrent/FutureTask;->isCancelled()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method protected onCancelled()V
|
||||||
|
.registers 1
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 260
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method protected onCancelled(Ljava/lang/Object;)V
|
||||||
|
.registers 2
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"(TResult;)V"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 244
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "result":Ljava/lang/Object;, "TResult;"
|
||||||
|
invoke-virtual {p0}, Landroid/support/v4/content/ModernAsyncTask;->onCancelled()V
|
||||||
|
|
||||||
|
.line 245
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method protected onPostExecute(Ljava/lang/Object;)V
|
||||||
|
.registers 2
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"(TResult;)V"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 213
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "result":Ljava/lang/Object;, "TResult;"
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method protected onPreExecute()V
|
||||||
|
.registers 1
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 197
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method protected varargs onProgressUpdate([Ljava/lang/Object;)V
|
||||||
|
.registers 2
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"([TProgress;)V"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 226
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "values":[Ljava/lang/Object;, "[TProgress;"
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method protected final varargs publishProgress([Ljava/lang/Object;)V
|
||||||
|
.registers 5
|
||||||
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
|
value = {
|
||||||
|
"([TProgress;)V"
|
||||||
|
}
|
||||||
|
.end annotation
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 451
|
||||||
|
.local p0, "this":Landroid/support/v4/content/ModernAsyncTask;, "Landroid/support/v4/content/ModernAsyncTask<TParams;TProgress;TResult;>;"
|
||||||
|
.local p1, "values":[Ljava/lang/Object;, "[TProgress;"
|
||||||
|
invoke-virtual {p0}, Landroid/support/v4/content/ModernAsyncTask;->isCancelled()Z
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
if-nez v0, :cond_15
|
||||||
|
|
||||||
|
.line 452
|
||||||
|
sget-object v0, Landroid/support/v4/content/ModernAsyncTask;->sHandler:Landroid/support/v4/content/ModernAsyncTask$InternalHandler;
|
||||||
|
|
||||||
|
const/4 v1, 0x2
|
||||||
|
|
||||||
|
new-instance v2, Landroid/support/v4/content/ModernAsyncTask$AsyncTaskResult;
|
||||||
|
|
||||||
|
invoke-direct {v2, p0, p1}, Landroid/support/v4/content/ModernAsyncTask$AsyncTaskResult;-><init>(Landroid/support/v4/content/ModernAsyncTask;[Ljava/lang/Object;)V
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1, v2}, Landroid/support/v4/content/ModernAsyncTask$InternalHandler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
|
||||||
|
|
||||||
|
.line 455
|
||||||
|
:cond_15
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
781
samples/Smali/PenguinSprite.smali
Normal file
781
samples/Smali/PenguinSprite.smali
Normal file
@@ -0,0 +1,781 @@
|
|||||||
|
.class public Lcom/tdq/game/shootbubble/sprite/PenguinSprite;
|
||||||
|
.super Lcom/tdq/game/shootbubble/sprite/Sprite;
|
||||||
|
.source "PenguinSprite.java"
|
||||||
|
|
||||||
|
|
||||||
|
# static fields
|
||||||
|
.field public static final LOST_SEQUENCE:[[I
|
||||||
|
|
||||||
|
.field public static final STATE_FIRE:I = 0x2
|
||||||
|
|
||||||
|
.field public static final STATE_GAME_LOST:I = 0x5
|
||||||
|
|
||||||
|
.field public static final STATE_GAME_WON:I = 0x4
|
||||||
|
|
||||||
|
.field public static final STATE_TURN_LEFT:I = 0x0
|
||||||
|
|
||||||
|
.field public static final STATE_TURN_RIGHT:I = 0x1
|
||||||
|
|
||||||
|
.field public static final STATE_VOID:I = 0x3
|
||||||
|
|
||||||
|
.field public static final WON_SEQUENCE:[[I
|
||||||
|
|
||||||
|
|
||||||
|
# instance fields
|
||||||
|
.field private count:I
|
||||||
|
|
||||||
|
.field private currentPenguin:I
|
||||||
|
|
||||||
|
.field private finalState:I
|
||||||
|
|
||||||
|
.field private nextPosition:I
|
||||||
|
|
||||||
|
.field private rand:Ljava/util/Random;
|
||||||
|
|
||||||
|
.field private spritesImage:Lcom/tdq/game/shootbubble/sprite/BmpWrap;
|
||||||
|
|
||||||
|
|
||||||
|
# direct methods
|
||||||
|
.method static constructor <clinit>()V
|
||||||
|
.locals 8
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const/4 v7, 0x4
|
||||||
|
|
||||||
|
const/4 v6, 0x3
|
||||||
|
|
||||||
|
const/4 v5, 0x1
|
||||||
|
|
||||||
|
const/4 v4, 0x0
|
||||||
|
|
||||||
|
const/4 v3, 0x2
|
||||||
|
|
||||||
|
.line 67
|
||||||
|
const/16 v0, 0x8
|
||||||
|
|
||||||
|
new-array v0, v0, [[I
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_0
|
||||||
|
|
||||||
|
aput-object v1, v0, v4
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_1
|
||||||
|
|
||||||
|
aput-object v1, v0, v5
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_2
|
||||||
|
|
||||||
|
aput-object v1, v0, v3
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_3
|
||||||
|
|
||||||
|
aput-object v1, v0, v6
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_4
|
||||||
|
|
||||||
|
aput-object v1, v0, v7
|
||||||
|
|
||||||
|
const/4 v1, 0x5
|
||||||
|
|
||||||
|
new-array v2, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v2, :array_5
|
||||||
|
|
||||||
|
aput-object v2, v0, v1
|
||||||
|
|
||||||
|
const/4 v1, 0x6
|
||||||
|
|
||||||
|
new-array v2, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v2, :array_6
|
||||||
|
|
||||||
|
aput-object v2, v0, v1
|
||||||
|
|
||||||
|
const/4 v1, 0x7
|
||||||
|
|
||||||
|
new-array v2, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v2, :array_7
|
||||||
|
|
||||||
|
aput-object v2, v0, v1
|
||||||
|
|
||||||
|
sput-object v0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->LOST_SEQUENCE:[[I
|
||||||
|
|
||||||
|
.line 69
|
||||||
|
const/16 v0, 0x8
|
||||||
|
|
||||||
|
new-array v0, v0, [[I
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_8
|
||||||
|
|
||||||
|
aput-object v1, v0, v4
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_9
|
||||||
|
|
||||||
|
aput-object v1, v0, v5
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_a
|
||||||
|
|
||||||
|
aput-object v1, v0, v3
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_b
|
||||||
|
|
||||||
|
aput-object v1, v0, v6
|
||||||
|
|
||||||
|
new-array v1, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v1, :array_c
|
||||||
|
|
||||||
|
aput-object v1, v0, v7
|
||||||
|
|
||||||
|
const/4 v1, 0x5
|
||||||
|
|
||||||
|
new-array v2, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v2, :array_d
|
||||||
|
|
||||||
|
aput-object v2, v0, v1
|
||||||
|
|
||||||
|
const/4 v1, 0x6
|
||||||
|
|
||||||
|
new-array v2, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v2, :array_e
|
||||||
|
|
||||||
|
aput-object v2, v0, v1
|
||||||
|
|
||||||
|
const/4 v1, 0x7
|
||||||
|
|
||||||
|
new-array v2, v3, [I
|
||||||
|
|
||||||
|
fill-array-data v2, :array_f
|
||||||
|
|
||||||
|
aput-object v2, v0, v1
|
||||||
|
|
||||||
|
sput-object v0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->WON_SEQUENCE:[[I
|
||||||
|
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 67
|
||||||
|
:array_0
|
||||||
|
.array-data 4
|
||||||
|
0x1
|
||||||
|
0x0
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_1
|
||||||
|
.array-data 4
|
||||||
|
0x2
|
||||||
|
0x8
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_2
|
||||||
|
.array-data 4
|
||||||
|
0x3
|
||||||
|
0x9
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_3
|
||||||
|
.array-data 4
|
||||||
|
0x4
|
||||||
|
0xa
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_4
|
||||||
|
.array-data 4
|
||||||
|
0x5
|
||||||
|
0xb
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_5
|
||||||
|
.array-data 4
|
||||||
|
0x6
|
||||||
|
0xc
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_6
|
||||||
|
.array-data 4
|
||||||
|
0x7
|
||||||
|
0xd
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_7
|
||||||
|
.array-data 4
|
||||||
|
0x5
|
||||||
|
0xe
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
.line 69
|
||||||
|
:array_8
|
||||||
|
.array-data 4
|
||||||
|
0x1
|
||||||
|
0x0
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_9
|
||||||
|
.array-data 4
|
||||||
|
0x2
|
||||||
|
0x7
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_a
|
||||||
|
.array-data 4
|
||||||
|
0x3
|
||||||
|
0x6
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_b
|
||||||
|
.array-data 4
|
||||||
|
0x4
|
||||||
|
0xf
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_c
|
||||||
|
.array-data 4
|
||||||
|
0x5
|
||||||
|
0x10
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_d
|
||||||
|
.array-data 4
|
||||||
|
0x6
|
||||||
|
0x11
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_e
|
||||||
|
.array-data 4
|
||||||
|
0x7
|
||||||
|
0x12
|
||||||
|
.end array-data
|
||||||
|
|
||||||
|
:array_f
|
||||||
|
.array-data 4
|
||||||
|
0x4
|
||||||
|
0x13
|
||||||
|
.end array-data
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public constructor <init>(Lcom/tdq/game/shootbubble/sprite/BmpWrap;Ljava/util/Random;)V
|
||||||
|
.locals 6
|
||||||
|
.param p1, "sprites" # Lcom/tdq/game/shootbubble/sprite/BmpWrap;
|
||||||
|
.param p2, "rand" # Ljava/util/Random;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const/4 v5, 0x0
|
||||||
|
|
||||||
|
.line 85
|
||||||
|
new-instance v0, Landroid/graphics/Rect;
|
||||||
|
|
||||||
|
const/16 v1, 0x169
|
||||||
|
|
||||||
|
const/16 v2, 0x1b4
|
||||||
|
|
||||||
|
const/16 v3, 0x1a0
|
||||||
|
|
||||||
|
const/16 v4, 0x1df
|
||||||
|
|
||||||
|
invoke-direct {v0, v1, v2, v3, v4}, Landroid/graphics/Rect;-><init>(IIII)V
|
||||||
|
|
||||||
|
invoke-direct {p0, v0}, Lcom/tdq/game/shootbubble/sprite/Sprite;-><init>(Landroid/graphics/Rect;)V
|
||||||
|
|
||||||
|
.line 87
|
||||||
|
iput-object p1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->spritesImage:Lcom/tdq/game/shootbubble/sprite/BmpWrap;
|
||||||
|
|
||||||
|
.line 88
|
||||||
|
iput-object p2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->rand:Ljava/util/Random;
|
||||||
|
|
||||||
|
.line 90
|
||||||
|
iput v5, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
.line 92
|
||||||
|
const/4 v0, 0x3
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->finalState:I
|
||||||
|
|
||||||
|
.line 93
|
||||||
|
iput v5, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
.line 94
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public constructor <init>(Lcom/tdq/game/shootbubble/sprite/BmpWrap;Ljava/util/Random;IIII)V
|
||||||
|
.locals 5
|
||||||
|
.param p1, "sprites" # Lcom/tdq/game/shootbubble/sprite/BmpWrap;
|
||||||
|
.param p2, "rand" # Ljava/util/Random;
|
||||||
|
.param p3, "currentPenguin" # I
|
||||||
|
.param p4, "count" # I
|
||||||
|
.param p5, "finalState" # I
|
||||||
|
.param p6, "nextPosition" # I
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 100
|
||||||
|
new-instance v0, Landroid/graphics/Rect;
|
||||||
|
|
||||||
|
const/16 v1, 0x169
|
||||||
|
|
||||||
|
const/16 v2, 0x1b4
|
||||||
|
|
||||||
|
const/16 v3, 0x1a0
|
||||||
|
|
||||||
|
const/16 v4, 0x1df
|
||||||
|
|
||||||
|
invoke-direct {v0, v1, v2, v3, v4}, Landroid/graphics/Rect;-><init>(IIII)V
|
||||||
|
|
||||||
|
invoke-direct {p0, v0}, Lcom/tdq/game/shootbubble/sprite/Sprite;-><init>(Landroid/graphics/Rect;)V
|
||||||
|
|
||||||
|
.line 102
|
||||||
|
iput-object p1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->spritesImage:Lcom/tdq/game/shootbubble/sprite/BmpWrap;
|
||||||
|
|
||||||
|
.line 103
|
||||||
|
iput-object p2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->rand:Ljava/util/Random;
|
||||||
|
|
||||||
|
.line 104
|
||||||
|
iput p3, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
.line 105
|
||||||
|
iput p4, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
.line 106
|
||||||
|
iput p5, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->finalState:I
|
||||||
|
|
||||||
|
.line 107
|
||||||
|
iput p6, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
.line 108
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public getTypeId()I
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 124
|
||||||
|
sget v0, Lcom/tdq/game/shootbubble/sprite/Sprite;->TYPE_PENGUIN:I
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public paint(Landroid/graphics/Canvas;DII)V
|
||||||
|
.locals 9
|
||||||
|
.param p1, "c" # Landroid/graphics/Canvas;
|
||||||
|
.param p2, "scale" # D
|
||||||
|
.param p4, "dx" # I
|
||||||
|
.param p5, "dy" # I
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
.line 183
|
||||||
|
invoke-virtual {p0}, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->getSpriteArea()Landroid/graphics/Rect;
|
||||||
|
|
||||||
|
move-result-object v3
|
||||||
|
|
||||||
|
.line 184
|
||||||
|
.local v3, "r":Landroid/graphics/Rect;
|
||||||
|
iget-object v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->spritesImage:Lcom/tdq/game/shootbubble/sprite/BmpWrap;
|
||||||
|
|
||||||
|
const/16 v1, 0x168
|
||||||
|
|
||||||
|
iget v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
rem-int/lit8 v2, v2, 0x4
|
||||||
|
|
||||||
|
mul-int/lit8 v2, v2, 0x39
|
||||||
|
|
||||||
|
sub-int/2addr v1, v2
|
||||||
|
|
||||||
|
const/16 v2, 0x1b3
|
||||||
|
|
||||||
|
iget v4, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
div-int/lit8 v4, v4, 0x4
|
||||||
|
|
||||||
|
mul-int/lit8 v4, v4, 0x2d
|
||||||
|
|
||||||
|
sub-int/2addr v2, v4
|
||||||
|
|
||||||
|
move-object v4, p1
|
||||||
|
|
||||||
|
move-wide v5, p2
|
||||||
|
|
||||||
|
move v7, p4
|
||||||
|
|
||||||
|
move v8, p5
|
||||||
|
|
||||||
|
invoke-static/range {v0 .. v8}, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->drawImageClipped(Lcom/tdq/game/shootbubble/sprite/BmpWrap;IILandroid/graphics/Rect;Landroid/graphics/Canvas;DII)V
|
||||||
|
|
||||||
|
.line 188
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public saveState(Landroid/os/Bundle;Ljava/util/Vector;)V
|
||||||
|
.locals 5
|
||||||
|
.param p1, "map" # Landroid/os/Bundle;
|
||||||
|
.param p2, "saved_sprites" # Ljava/util/Vector;
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const/4 v4, 0x1
|
||||||
|
|
||||||
|
const/4 v3, 0x0
|
||||||
|
|
||||||
|
.line 111
|
||||||
|
invoke-virtual {p0}, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->getSavedId()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
const/4 v1, -0x1
|
||||||
|
|
||||||
|
if-eq v0, v1, :cond_0
|
||||||
|
|
||||||
|
.line 120
|
||||||
|
:goto_0
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 114
|
||||||
|
:cond_0
|
||||||
|
invoke-super {p0, p1, p2}, Lcom/tdq/game/shootbubble/sprite/Sprite;->saveState(Landroid/os/Bundle;Ljava/util/Vector;)V
|
||||||
|
|
||||||
|
.line 115
|
||||||
|
const-string v0, "%d-currentPenguin"
|
||||||
|
|
||||||
|
new-array v1, v4, [Ljava/lang/Object;
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->getSavedId()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
aput-object v2, v1, v3
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
invoke-virtual {p1, v0, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
|
||||||
|
|
||||||
|
.line 117
|
||||||
|
const-string v0, "%d-count"
|
||||||
|
|
||||||
|
new-array v1, v4, [Ljava/lang/Object;
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->getSavedId()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
aput-object v2, v1, v3
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
invoke-virtual {p1, v0, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
|
||||||
|
|
||||||
|
.line 118
|
||||||
|
const-string v0, "%d-finalState"
|
||||||
|
|
||||||
|
new-array v1, v4, [Ljava/lang/Object;
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->getSavedId()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
aput-object v2, v1, v3
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->finalState:I
|
||||||
|
|
||||||
|
invoke-virtual {p1, v0, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
|
||||||
|
|
||||||
|
.line 119
|
||||||
|
const-string v0, "%d-nextPosition"
|
||||||
|
|
||||||
|
new-array v1, v4, [Ljava/lang/Object;
|
||||||
|
|
||||||
|
invoke-virtual {p0}, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->getSavedId()I
|
||||||
|
|
||||||
|
move-result v2
|
||||||
|
|
||||||
|
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||||
|
|
||||||
|
move-result-object v2
|
||||||
|
|
||||||
|
aput-object v2, v1, v3
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object v0
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
invoke-virtual {p1, v0, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
|
||||||
|
|
||||||
|
goto :goto_0
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public updateState(I)V
|
||||||
|
.locals 6
|
||||||
|
.param p1, "state" # I
|
||||||
|
|
||||||
|
.prologue
|
||||||
|
const/4 v5, 0x7
|
||||||
|
|
||||||
|
const/4 v1, 0x3
|
||||||
|
|
||||||
|
const/4 v4, 0x4
|
||||||
|
|
||||||
|
const/4 v3, 0x1
|
||||||
|
|
||||||
|
const/4 v2, 0x0
|
||||||
|
|
||||||
|
.line 129
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->finalState:I
|
||||||
|
|
||||||
|
if-eq v0, v1, :cond_2
|
||||||
|
|
||||||
|
.line 130
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
add-int/lit8 v0, v0, 0x1
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
.line 132
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
rem-int/lit8 v0, v0, 0x6
|
||||||
|
|
||||||
|
if-nez v0, :cond_0
|
||||||
|
|
||||||
|
.line 133
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->finalState:I
|
||||||
|
|
||||||
|
const/4 v1, 0x5
|
||||||
|
|
||||||
|
if-ne v0, v1, :cond_1
|
||||||
|
|
||||||
|
.line 134
|
||||||
|
sget-object v0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->LOST_SEQUENCE:[[I
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
aget-object v0, v0, v1
|
||||||
|
|
||||||
|
aget v0, v0, v3
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
.line 135
|
||||||
|
sget-object v0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->LOST_SEQUENCE:[[I
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
aget-object v0, v0, v1
|
||||||
|
|
||||||
|
aget v0, v0, v2
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
.line 179
|
||||||
|
:cond_0
|
||||||
|
:goto_0
|
||||||
|
return-void
|
||||||
|
|
||||||
|
.line 136
|
||||||
|
:cond_1
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->finalState:I
|
||||||
|
|
||||||
|
if-ne v0, v4, :cond_0
|
||||||
|
|
||||||
|
.line 137
|
||||||
|
sget-object v0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->WON_SEQUENCE:[[I
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
aget-object v0, v0, v1
|
||||||
|
|
||||||
|
aget v0, v0, v3
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
.line 138
|
||||||
|
sget-object v0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->WON_SEQUENCE:[[I
|
||||||
|
|
||||||
|
iget v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
aget-object v0, v0, v1
|
||||||
|
|
||||||
|
aget v0, v0, v2
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->nextPosition:I
|
||||||
|
|
||||||
|
goto :goto_0
|
||||||
|
|
||||||
|
.line 142
|
||||||
|
:cond_2
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
add-int/lit8 v0, v0, 0x1
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
.line 144
|
||||||
|
packed-switch p1, :pswitch_data_0
|
||||||
|
|
||||||
|
.line 170
|
||||||
|
:cond_3
|
||||||
|
:goto_1
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
const/16 v1, 0x64
|
||||||
|
|
||||||
|
if-le v0, v1, :cond_5
|
||||||
|
|
||||||
|
.line 171
|
||||||
|
iput v5, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
goto :goto_0
|
||||||
|
|
||||||
|
.line 146
|
||||||
|
:pswitch_0
|
||||||
|
iput v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
.line 147
|
||||||
|
iput v1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
goto :goto_1
|
||||||
|
|
||||||
|
.line 150
|
||||||
|
:pswitch_1
|
||||||
|
iput v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
.line 151
|
||||||
|
const/4 v0, 0x2
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
goto :goto_1
|
||||||
|
|
||||||
|
.line 154
|
||||||
|
:pswitch_2
|
||||||
|
iput v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
.line 155
|
||||||
|
iput v3, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
goto :goto_1
|
||||||
|
|
||||||
|
.line 158
|
||||||
|
:pswitch_3
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
if-lt v0, v4, :cond_4
|
||||||
|
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
if-le v0, v5, :cond_3
|
||||||
|
|
||||||
|
.line 159
|
||||||
|
:cond_4
|
||||||
|
iput v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
goto :goto_1
|
||||||
|
|
||||||
|
.line 164
|
||||||
|
:pswitch_4
|
||||||
|
iput v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
.line 165
|
||||||
|
iput p1, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->finalState:I
|
||||||
|
|
||||||
|
.line 166
|
||||||
|
iput v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
goto :goto_0
|
||||||
|
|
||||||
|
.line 172
|
||||||
|
:cond_5
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
rem-int/lit8 v0, v0, 0xf
|
||||||
|
|
||||||
|
if-nez v0, :cond_0
|
||||||
|
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->count:I
|
||||||
|
|
||||||
|
const/16 v1, 0x19
|
||||||
|
|
||||||
|
if-le v0, v1, :cond_0
|
||||||
|
|
||||||
|
.line 173
|
||||||
|
iget-object v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->rand:Ljava/util/Random;
|
||||||
|
|
||||||
|
invoke-virtual {v0}, Ljava/util/Random;->nextInt()I
|
||||||
|
|
||||||
|
move-result v0
|
||||||
|
|
||||||
|
rem-int/lit8 v0, v0, 0x3
|
||||||
|
|
||||||
|
add-int/lit8 v0, v0, 0x4
|
||||||
|
|
||||||
|
iput v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
.line 174
|
||||||
|
iget v0, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
if-ge v0, v4, :cond_0
|
||||||
|
|
||||||
|
.line 175
|
||||||
|
iput v2, p0, Lcom/tdq/game/shootbubble/sprite/PenguinSprite;->currentPenguin:I
|
||||||
|
|
||||||
|
goto :goto_0
|
||||||
|
|
||||||
|
.line 144
|
||||||
|
nop
|
||||||
|
|
||||||
|
:pswitch_data_0
|
||||||
|
.packed-switch 0x0
|
||||||
|
:pswitch_0
|
||||||
|
:pswitch_1
|
||||||
|
:pswitch_2
|
||||||
|
:pswitch_3
|
||||||
|
:pswitch_4
|
||||||
|
:pswitch_4
|
||||||
|
.end packed-switch
|
||||||
|
.end method
|
||||||
1179
samples/Smali/Subject.smali
Normal file
1179
samples/Smali/Subject.smali
Normal file
File diff suppressed because it is too large
Load Diff
4382
samples/Smali/ViewDragHelper.smali
Normal file
4382
samples/Smali/ViewDragHelper.smali
Normal file
File diff suppressed because it is too large
Load Diff
1863
samples/Smali/WbxmlSerializer.smali
Normal file
1863
samples/Smali/WbxmlSerializer.smali
Normal file
File diff suppressed because it is too large
Load Diff
5
samples/Thrift/linguist.thrift
Normal file
5
samples/Thrift/linguist.thrift
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
struct PullRequest {
|
||||||
|
1: string title
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
12
samples/XML/Example.mdpolicy
Normal file
12
samples/XML/Example.mdpolicy
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<PolicySet name="Example.mdpolicy">
|
||||||
|
<TextStylePolicy inheritsSet="VisualStudio" inheritsScope="text/plain" scope="text/x-csharp">
|
||||||
|
<FileWidth>120</FileWidth>
|
||||||
|
<TabsToSpaces>False</TabsToSpaces>
|
||||||
|
<NoTabsAfterNonTabs>True</NoTabsAfterNonTabs>
|
||||||
|
</TextStylePolicy>
|
||||||
|
<DotNetNamingPolicy>
|
||||||
|
<DirectoryNamespaceAssociation>None</DirectoryNamespaceAssociation>
|
||||||
|
<ResourceNamePolicy>FileFormatDefault</ResourceNamePolicy>
|
||||||
|
</DotNetNamingPolicy>
|
||||||
|
</PolicySet>
|
||||||
13
samples/XML/intellij.iml
Normal file
13
samples/XML/intellij.iml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="backend node_modules" level="project" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
@@ -188,14 +188,16 @@ def load_grammars(tmp_dir, source, all_scopes)
|
|||||||
scope = grammar['scopeName']
|
scope = grammar['scopeName']
|
||||||
|
|
||||||
if all_scopes.key?(scope)
|
if all_scopes.key?(scope)
|
||||||
$stderr.puts "WARN: Duplicated scope #{scope}\n" +
|
unless all_scopes[scope] == p.url
|
||||||
" Current package: #{p.url}\n" +
|
$stderr.puts "WARN: Duplicated scope #{scope}\n" +
|
||||||
" Previous package: #{all_scopes[scope]}"
|
" Current package: #{p.url}\n" +
|
||||||
|
" Previous package: #{all_scopes[scope]}"
|
||||||
|
end
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
all_scopes[scope] = p.url
|
all_scopes[scope] = p.url
|
||||||
grammar
|
grammar
|
||||||
end
|
end.compact
|
||||||
end
|
end
|
||||||
|
|
||||||
def install_grammars(grammars, path)
|
def install_grammars(grammars, path)
|
||||||
|
|||||||
@@ -217,6 +217,15 @@ class TestBlob < Minitest::Test
|
|||||||
assert sample_blob("Java/ProtocolBuffer.java").generated?
|
assert sample_blob("Java/ProtocolBuffer.java").generated?
|
||||||
assert sample_blob("Python/protocol_buffer_pb2.py").generated?
|
assert sample_blob("Python/protocol_buffer_pb2.py").generated?
|
||||||
assert sample_blob("Go/api.pb.go").generated?
|
assert sample_blob("Go/api.pb.go").generated?
|
||||||
|
assert sample_blob("Go/embedded.go").generated?
|
||||||
|
|
||||||
|
# Apache Thrift generated code
|
||||||
|
assert sample_blob("Python/gen-py-linguist-thrift.py").generated?
|
||||||
|
assert sample_blob("Go/gen-go-linguist-thrift.go").generated?
|
||||||
|
assert sample_blob("Java/gen-java-linguist-thrift.java").generated?
|
||||||
|
assert sample_blob("JavaScript/gen-js-linguist-thrift.js").generated?
|
||||||
|
assert sample_blob("Ruby/gen-rb-linguist-thrift.rb").generated?
|
||||||
|
assert sample_blob("Objective-C/gen-cocoa-linguist-thrift.m").generated?
|
||||||
|
|
||||||
# Generated JNI
|
# Generated JNI
|
||||||
assert sample_blob("C/jni_layer.h").generated?
|
assert sample_blob("C/jni_layer.h").generated?
|
||||||
@@ -414,6 +423,9 @@ class TestBlob < Minitest::Test
|
|||||||
# Normalize
|
# Normalize
|
||||||
assert sample_blob("some/asset/path/normalize.css").vendored?
|
assert sample_blob("some/asset/path/normalize.css").vendored?
|
||||||
|
|
||||||
|
# Carthage
|
||||||
|
assert sample_blob('Carthage/blah').vendored?
|
||||||
|
|
||||||
# Cocoapods
|
# Cocoapods
|
||||||
assert sample_blob('Pods/blah').vendored?
|
assert sample_blob('Pods/blah').vendored?
|
||||||
|
|
||||||
@@ -465,7 +477,7 @@ class TestBlob < Minitest::Test
|
|||||||
# Sphinx docs
|
# Sphinx docs
|
||||||
assert sample_blob("docs/_build/asset.doc").vendored?
|
assert sample_blob("docs/_build/asset.doc").vendored?
|
||||||
assert sample_blob("docs/theme/file.css").vendored?
|
assert sample_blob("docs/theme/file.css").vendored?
|
||||||
|
|
||||||
# Vagrant
|
# Vagrant
|
||||||
assert sample_blob("puphpet/file.pp").vendored?
|
assert sample_blob("puphpet/file.pp").vendored?
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -48,8 +48,7 @@ class TestHeuristcs < Minitest::Test
|
|||||||
def test_pl_prolog_perl_by_heuristics
|
def test_pl_prolog_perl_by_heuristics
|
||||||
assert_heuristics({
|
assert_heuristics({
|
||||||
"Prolog" => all_fixtures("Prolog/*.pl"),
|
"Prolog" => all_fixtures("Prolog/*.pl"),
|
||||||
"Perl" => all_fixtures("Perl/*.pl"),
|
"Perl" => all_fixtures("Perl/*.pl") + ["Perl/perl-test.t"],
|
||||||
"Perl" => ["Perl/perl-test.t"],
|
|
||||||
"Perl6" => all_fixtures("Perl6/*.pl")
|
"Perl6" => all_fixtures("Perl6/*.pl")
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|||||||
2
vendor/grammars/AutoHotkey
vendored
2
vendor/grammars/AutoHotkey
vendored
Submodule vendor/grammars/AutoHotkey updated: 9b42c86e75...8a9bb55597
2
vendor/grammars/Docker.tmbundle
vendored
2
vendor/grammars/Docker.tmbundle
vendored
Submodule vendor/grammars/Docker.tmbundle updated: 8f28cd8714...8ff6e62c89
1
vendor/grammars/Handlebars
vendored
Submodule
1
vendor/grammars/Handlebars
vendored
Submodule
Submodule vendor/grammars/Handlebars added at e331daf059
2
vendor/grammars/InnoSetup
vendored
2
vendor/grammars/InnoSetup
vendored
Submodule vendor/grammars/InnoSetup updated: 875ba96c32...417c64d7b3
2
vendor/grammars/NimLime
vendored
2
vendor/grammars/NimLime
vendored
Submodule vendor/grammars/NimLime updated: 663b417558...4ab90608c1
2
vendor/grammars/SublimePapyrus
vendored
2
vendor/grammars/SublimePapyrus
vendored
Submodule vendor/grammars/SublimePapyrus updated: 26036db16d...db14899948
1
vendor/grammars/atom-fsharp
vendored
Submodule
1
vendor/grammars/atom-fsharp
vendored
Submodule
Submodule vendor/grammars/atom-fsharp added at 919a4d895a
2
vendor/grammars/carto-atom
vendored
2
vendor/grammars/carto-atom
vendored
Submodule vendor/grammars/carto-atom updated: c00fb6c461...60c8774b02
2
vendor/grammars/dart-sublime-bundle
vendored
2
vendor/grammars/dart-sublime-bundle
vendored
Submodule vendor/grammars/dart-sublime-bundle updated: 4c599ca5f2...67f23dfef2
2
vendor/grammars/factor
vendored
2
vendor/grammars/factor
vendored
Submodule vendor/grammars/factor updated: aa1a5f22ba...3705d6e387
1
vendor/grammars/fsharpbinding
vendored
1
vendor/grammars/fsharpbinding
vendored
Submodule vendor/grammars/fsharpbinding deleted from ad3f073464
2
vendor/grammars/grace-tmbundle
vendored
2
vendor/grammars/grace-tmbundle
vendored
Submodule vendor/grammars/grace-tmbundle updated: 2fba162ce7...9e8bb893f0
2
vendor/grammars/graphviz.tmbundle
vendored
2
vendor/grammars/graphviz.tmbundle
vendored
Submodule vendor/grammars/graphviz.tmbundle updated: 2760230b50...d1d489f893
2
vendor/grammars/haxe-sublime-bundle
vendored
2
vendor/grammars/haxe-sublime-bundle
vendored
Submodule vendor/grammars/haxe-sublime-bundle updated: 487bb30d3a...7fb8855dd6
2
vendor/grammars/language-clojure
vendored
2
vendor/grammars/language-clojure
vendored
Submodule vendor/grammars/language-clojure updated: efe9297f7b...81e089cc55
2
vendor/grammars/language-coffee-script
vendored
2
vendor/grammars/language-coffee-script
vendored
Submodule vendor/grammars/language-coffee-script updated: 203cbf0929...99f29d259f
2
vendor/grammars/language-csharp
vendored
2
vendor/grammars/language-csharp
vendored
Submodule vendor/grammars/language-csharp updated: d07ba8f168...8745f4e545
2
vendor/grammars/language-gfm
vendored
2
vendor/grammars/language-gfm
vendored
Submodule vendor/grammars/language-gfm updated: 998b156ada...7cb930dcaf
2
vendor/grammars/language-javascript
vendored
2
vendor/grammars/language-javascript
vendored
Submodule vendor/grammars/language-javascript updated: 9f55d13319...601cb6cb8f
1
vendor/grammars/language-jsoniq
vendored
Submodule
1
vendor/grammars/language-jsoniq
vendored
Submodule
Submodule vendor/grammars/language-jsoniq added at 20214d61b4
2
vendor/grammars/language-python
vendored
2
vendor/grammars/language-python
vendored
Submodule vendor/grammars/language-python updated: 00529e6915...db14372b47
2
vendor/grammars/language-shellscript
vendored
2
vendor/grammars/language-shellscript
vendored
Submodule vendor/grammars/language-shellscript updated: abf186b46f...c09554aa3c
2
vendor/grammars/language-yaml
vendored
2
vendor/grammars/language-yaml
vendored
Submodule vendor/grammars/language-yaml updated: ce8b441467...ee5ab88f59
2
vendor/grammars/latex.tmbundle
vendored
2
vendor/grammars/latex.tmbundle
vendored
Submodule vendor/grammars/latex.tmbundle updated: b244177ac8...a20438e8e4
2
vendor/grammars/php-smarty.tmbundle
vendored
2
vendor/grammars/php-smarty.tmbundle
vendored
Submodule vendor/grammars/php-smarty.tmbundle updated: 6f3630fe0d...3e673e1980
2
vendor/grammars/php.tmbundle
vendored
2
vendor/grammars/php.tmbundle
vendored
Submodule vendor/grammars/php.tmbundle updated: 0239f475bb...1cba1ac4a9
2
vendor/grammars/sass-textmate-bundle
vendored
2
vendor/grammars/sass-textmate-bundle
vendored
Submodule vendor/grammars/sass-textmate-bundle updated: 8444f9796e...95e492c5e8
1
vendor/grammars/smali-sublime
vendored
Submodule
1
vendor/grammars/smali-sublime
vendored
Submodule
Submodule vendor/grammars/smali-sublime added at b9eba91397
2
vendor/grammars/sublime-better-typescript
vendored
2
vendor/grammars/sublime-better-typescript
vendored
Submodule vendor/grammars/sublime-better-typescript updated: b956adec0a...8c0bd800d9
2
vendor/grammars/sublime-mask
vendored
2
vendor/grammars/sublime-mask
vendored
Submodule vendor/grammars/sublime-mask updated: 55f087b49e...a7f3baacf6
2
vendor/grammars/sublime-rust
vendored
2
vendor/grammars/sublime-rust
vendored
Submodule vendor/grammars/sublime-rust updated: 454e0960c1...386d8fcdc5
2
vendor/grammars/sublime_cobol
vendored
2
vendor/grammars/sublime_cobol
vendored
Submodule vendor/grammars/sublime_cobol updated: b4e9df7799...e7ec606b51
Reference in New Issue
Block a user