mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Fix conflicts from merging master into 'mod-extension'
This commit is contained in:
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
1104
samples/Isabelle ROOT/filenames/ROOT
Normal file
1104
samples/Isabelle ROOT/filenames/ROOT
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
|
||||
|
||||
6
samples/PHP/root.php
Normal file
6
samples/PHP/root.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
////////////////////////////////////
|
||||
// I am not Isabelle ROOT //
|
||||
////////////////////////////////////
|
||||
|
||||
?>
|
||||
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;
|
||||
@@ -1,4 +1,5 @@
|
||||
use Test::Base;
|
||||
use Test::More;
|
||||
|
||||
__DATA__
|
||||
=== Strict Test
|
||||
|
||||
@@ -73,26 +73,6 @@ Here's some POD! Wooo
|
||||
|
||||
say('this is not!');
|
||||
|
||||
=table
|
||||
Of role things
|
||||
|
||||
say('not in your table');
|
||||
#= A single line declarator "block" (with a keyword like role)
|
||||
#| Another single line declarator "block" (with a keyword like role)
|
||||
#={
|
||||
A declarator block (with a keyword like role)
|
||||
}
|
||||
#|{
|
||||
Another declarator block (with a keyword like role)
|
||||
}
|
||||
#= { A single line declarator "block" with a brace (with a keyword like role)
|
||||
#=«
|
||||
More declarator blocks! (with a keyword like role)
|
||||
»
|
||||
#|«
|
||||
More declarator blocks! (with a keyword like role)
|
||||
»
|
||||
|
||||
say 'Moar code!';
|
||||
|
||||
my $don't = 16;
|
||||
|
||||
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
|
||||
}
|
||||
50
samples/Ruby/filenames/Deliverfile
Normal file
50
samples/Ruby/filenames/Deliverfile
Normal file
@@ -0,0 +1,50 @@
|
||||
require 'open-uri'
|
||||
|
||||
framework_version = JSON.parse(open(url).read)
|
||||
|
||||
# The URL below is password protected
|
||||
apps = JSON.parse(open(url).read)
|
||||
|
||||
app_id = Dir.pwd.split("/")[-2].to_i
|
||||
app = apps[app_id.to_s]
|
||||
|
||||
# The app identifier is required
|
||||
app_identifier "net.sunapps.#{app_id}"
|
||||
|
||||
version framework_version['version_number']
|
||||
|
||||
title(
|
||||
'de-DE' => app["fullName"]
|
||||
)
|
||||
|
||||
description(
|
||||
'de-DE' => app["description"]["de"]
|
||||
)
|
||||
|
||||
changelog(
|
||||
'de-DE' => framework_version["public_description"]["de"]
|
||||
)
|
||||
|
||||
keywords(
|
||||
'de-DE' => app["keywords"]["de"].split(",")
|
||||
)
|
||||
|
||||
app_icon "../Submission/AppIconFull.png"
|
||||
|
||||
price_tier 0 # free app
|
||||
|
||||
primary_category "Reference"
|
||||
|
||||
secondary_category "Business"
|
||||
|
||||
automatic_release true
|
||||
|
||||
ratings_config_path "./ratings_config.json"
|
||||
|
||||
app_review_information({
|
||||
first_name: "Felix",
|
||||
phone_number: "My Phone Number",
|
||||
demo_user: "",
|
||||
demo_password: "",
|
||||
notes: ""
|
||||
})
|
||||
115
samples/Ruby/filenames/Fastfile
Normal file
115
samples/Ruby/filenames/Fastfile
Normal file
@@ -0,0 +1,115 @@
|
||||
# Customise this file, documentation can be found here:
|
||||
# https://github.com/KrauseFx/fastlane/tree/master/docs
|
||||
|
||||
$:.unshift File.dirname(__FILE__)
|
||||
require 'lib/utils.rb'
|
||||
|
||||
fastlane_version "1.0.0"
|
||||
|
||||
default_platform :ios
|
||||
|
||||
platform :ios do
|
||||
before_all do
|
||||
ENV['DELIVER_WHAT_TO_TEST'] = git_commit_log
|
||||
ensure_git_status_clean
|
||||
end
|
||||
|
||||
desc "Runs linting (and eventually static analysis)"
|
||||
lane :analyze do
|
||||
return if test_disabled?
|
||||
make 'lint'
|
||||
end
|
||||
|
||||
desc "Runs all the unit tests."
|
||||
lane :test do
|
||||
return if test_disabled?
|
||||
# TODO: lint & test JS code
|
||||
xctest(
|
||||
scheme: 'Wikipedia',
|
||||
destination: "platform=iOS Simulator,name=iPhone 6,OS=8.3",
|
||||
reports: [
|
||||
{
|
||||
report: "html",
|
||||
output: "build/reports/unit-tests.html"
|
||||
},
|
||||
{
|
||||
report: "junit",
|
||||
output: "build/reports/unit-tests.xml"
|
||||
}
|
||||
],
|
||||
clean: nil
|
||||
)
|
||||
end
|
||||
|
||||
desc "Bump the version, and submit a new **Wikipedia Alpha** Build to Apple TestFlight"
|
||||
lane :alpha do
|
||||
# snapshot
|
||||
sigh
|
||||
increment_build_number
|
||||
|
||||
# uncomment when CI is able to push tags
|
||||
if ENV['WMF_BUMP']
|
||||
commit_version_bump
|
||||
plist_version = get_version_short_string File.expand_path(File.join(ENV['PWD'], 'Wikipedia/Wikipedia-Info.plist'))
|
||||
# tag must be added after the version bump is committed
|
||||
add_git_tag(tag: "#{plist_version}.#{Actions.lane_context[Actions::SharedValues::BUILD_NUMBER]}")
|
||||
end
|
||||
|
||||
ipa(
|
||||
configuration: "Alpha",
|
||||
scheme: "Wikipedia Alpha",
|
||||
)
|
||||
hockey(
|
||||
notes: '',
|
||||
notify: '0', # Means do not notify
|
||||
status: '1', # Means do not make available for download
|
||||
)
|
||||
deliver skip_deploy: true, beta: true
|
||||
|
||||
# uncomment when CI is able to push tags
|
||||
if ENV['WMF_BUMP']
|
||||
# only push after everything else has succeeded
|
||||
push_to_git_remote
|
||||
end
|
||||
end
|
||||
|
||||
desc "Submit a new **Wikipedia Beta** build to Apple TestFlight"
|
||||
lane :beta do
|
||||
# snapshot
|
||||
sigh
|
||||
ipa(
|
||||
configuration: "Beta",
|
||||
scheme: "Wikipedia Beta",
|
||||
)
|
||||
hockey(
|
||||
notes: '',
|
||||
notify: '0', # Means do not notify
|
||||
status: '1', # Means do not make available for download
|
||||
)
|
||||
deliver skip_deploy: true, beta: true
|
||||
end
|
||||
|
||||
desc "Deploy a new version to the App Store"
|
||||
lane :store do
|
||||
# snapshot
|
||||
sigh
|
||||
ipa(
|
||||
configuration: "Wikipedia",
|
||||
scheme: "Wikipedia",
|
||||
)
|
||||
hockey(
|
||||
notes: '',
|
||||
notify: '0', # Means do not notify
|
||||
status: '1', # Means do not make available for download
|
||||
)
|
||||
deliver skip_deploy: true, force: true
|
||||
end
|
||||
|
||||
after_all do |lane|
|
||||
|
||||
end
|
||||
|
||||
error do |lane, exception|
|
||||
|
||||
end
|
||||
end
|
||||
18
samples/Ruby/filenames/Podfile
Normal file
18
samples/Ruby/filenames/Podfile
Normal file
@@ -0,0 +1,18 @@
|
||||
source 'https://github.com/CocoaPods/Specs.git'
|
||||
|
||||
platform :ios, :deployment_target => '6.0'
|
||||
|
||||
inhibit_all_warnings!
|
||||
|
||||
xcodeproj 'Wikipedia'
|
||||
|
||||
pod 'AFNetworking/NSURLConnection', '~> 2.5'
|
||||
pod 'hpple', '~> 0.2'
|
||||
pod 'blockskit/Core', '~> 2.2'
|
||||
pod 'Masonry', '~> 0.6'
|
||||
pod 'HockeySDK', '3.6.2'
|
||||
|
||||
target 'WikipediaUnitTests', :exclusive => false do
|
||||
pod 'OCMockito', '~> 1.4'
|
||||
pod 'OCHamcrest', '~> 4.1'
|
||||
end
|
||||
26
samples/Ruby/filenames/Snapfile
Normal file
26
samples/Ruby/filenames/Snapfile
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
# Download the latest screenshot information from the CMS
|
||||
app_id = Dir.pwd.split("/")[-2].to_i
|
||||
File.write("./screenshots.json", open("https://...amazonaws.com/1.0/#{app_id}/....json").read) rescue nil
|
||||
|
||||
|
||||
# A list of devices you want to take the screenshots from
|
||||
devices([
|
||||
"iPhone 6",
|
||||
"iPhone 6 Plus",
|
||||
"iPhone 5",
|
||||
"iPhone 4s"
|
||||
])
|
||||
|
||||
languages([
|
||||
'de-DE'
|
||||
])
|
||||
|
||||
# Where should the resulting screenshots be stored?
|
||||
screenshots_path "./screenshots"
|
||||
|
||||
# JavaScript UIAutomation file
|
||||
js_file './snapshot.js'
|
||||
|
||||
# The name of the project's scheme
|
||||
scheme 'Release'
|
||||
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
|
||||
20
samples/SMT/bignum_lia1.smt2
Normal file
20
samples/SMT/bignum_lia1.smt2
Normal file
@@ -0,0 +1,20 @@
|
||||
(set-logic QF_LIA)
|
||||
(set-info :source | SMT-COMP'06 organizers |)
|
||||
(set-info :smt-lib-version 2.0)
|
||||
(set-info :category "check")
|
||||
(set-info :status unsat)
|
||||
(set-info :notes |This benchmark is designed to check if the DP supports bignumbers.|)
|
||||
(declare-fun x1 () Int)
|
||||
(declare-fun x2 () Int)
|
||||
(declare-fun x3 () Int)
|
||||
(declare-fun x4 () Int)
|
||||
(declare-fun x5 () Int)
|
||||
(declare-fun x6 () Int)
|
||||
(assert (and (or (>= x1 1000) (>= x1 1002))
|
||||
(or (>= x2 (* 1230 x1)) (>= x2 (* 1003 x1)))
|
||||
(or (>= x3 (* 1310 x2)) (>= x3 (* 1999 x2)))
|
||||
(or (>= x4 (* 4000 x3)) (>= x4 (* 8000 x3)))
|
||||
(or (<= x5 (* (- 4000) x4)) (<= x5 (* (- 8000) x4)))
|
||||
(or (>= x6 (* (- 3) x5)) (>= x6 (* (- 2) x5))) (< x6 0)))
|
||||
(check-sat)
|
||||
(exit)
|
||||
20
samples/SMT/list4.smt2
Normal file
20
samples/SMT/list4.smt2
Normal file
@@ -0,0 +1,20 @@
|
||||
(set-logic AUFLIRA)
|
||||
(set-info :source | Buggy list theorem |)
|
||||
(set-info :smt-lib-version 2.0)
|
||||
(set-info :category "crafted")
|
||||
(set-info :status sat)
|
||||
(declare-sort List 0)
|
||||
(declare-fun cons (Real List) List)
|
||||
(declare-fun nil () List)
|
||||
(declare-fun car (List) Real)
|
||||
(declare-fun cdr (List) List)
|
||||
(declare-fun len (List) Int)
|
||||
(assert (forall ((?x Real) (?y List)) (= (car (cons ?x ?y)) ?x)))
|
||||
(assert (forall ((?x Real) (?y List)) (= (cdr (cons ?x ?y)) ?y)))
|
||||
(assert (= (len nil) 0))
|
||||
(assert (forall ((?x Real) (?y List)) (= (len (cons ?x ?y)) (+ (len ?y) 1))))
|
||||
(declare-fun append (List List) List)
|
||||
(assert (forall ((?x Real) (?y1 List) (?y2 List)) (= (append (cons ?x ?y1) ?y2) (cons ?x (append ?y1 ?y2)))))
|
||||
(assert (not (forall ((?x Real) (?y List)) (= (append (cons ?x nil) ?y) (cons ?x ?y)))))
|
||||
(check-sat)
|
||||
(exit)
|
||||
123
samples/SMT/queen10-1.smt2
Normal file
123
samples/SMT/queen10-1.smt2
Normal file
@@ -0,0 +1,123 @@
|
||||
(set-logic QF_IDL)
|
||||
(set-info :source |
|
||||
Queens benchmarks generated by Hyondeuk Kim in SMT-LIB format.
|
||||
|)
|
||||
(set-info :smt-lib-version 2.0)
|
||||
(set-info :category "crafted")
|
||||
(set-info :status sat)
|
||||
(declare-fun x0 () Int)
|
||||
(declare-fun x1 () Int)
|
||||
(declare-fun x2 () Int)
|
||||
(declare-fun x3 () Int)
|
||||
(declare-fun x4 () Int)
|
||||
(declare-fun x5 () Int)
|
||||
(declare-fun x6 () Int)
|
||||
(declare-fun x7 () Int)
|
||||
(declare-fun x8 () Int)
|
||||
(declare-fun x9 () Int)
|
||||
(declare-fun x10 () Int)
|
||||
(assert
|
||||
(let
|
||||
((?v_0 (- x0 x10))
|
||||
(?v_1 (- x1 x10))
|
||||
(?v_2 (- x2 x10))
|
||||
(?v_3 (- x3 x10))
|
||||
(?v_4 (- x4 x10))
|
||||
(?v_5 (- x5 x10))
|
||||
(?v_6 (- x6 x10))
|
||||
(?v_7 (- x7 x10))
|
||||
(?v_8 (- x8 x10))
|
||||
(?v_9 (- x9 x10))
|
||||
(?v_10 (- x0 x1))
|
||||
(?v_11 (- x0 x2))
|
||||
(?v_12 (- x0 x3))
|
||||
(?v_13 (- x0 x4))
|
||||
(?v_14 (- x0 x5))
|
||||
(?v_15 (- x0 x6))
|
||||
(?v_16 (- x0 x7))
|
||||
(?v_17 (- x0 x8))
|
||||
(?v_18 (- x0 x9))
|
||||
(?v_19 (- x1 x2))
|
||||
(?v_20 (- x1 x3))
|
||||
(?v_21 (- x1 x4))
|
||||
(?v_22 (- x1 x5))
|
||||
(?v_23 (- x1 x6))
|
||||
(?v_24 (- x1 x7))
|
||||
(?v_25 (- x1 x8))
|
||||
(?v_26 (- x1 x9))
|
||||
(?v_27 (- x2 x3))
|
||||
(?v_28 (- x2 x4))
|
||||
(?v_29 (- x2 x5))
|
||||
(?v_30 (- x2 x6))
|
||||
(?v_31 (- x2 x7))
|
||||
(?v_32 (- x2 x8))
|
||||
(?v_33 (- x2 x9))
|
||||
(?v_34 (- x3 x4))
|
||||
(?v_35 (- x3 x5))
|
||||
(?v_36 (- x3 x6))
|
||||
(?v_37 (- x3 x7))
|
||||
(?v_38 (- x3 x8))
|
||||
(?v_39 (- x3 x9))
|
||||
(?v_40 (- x4 x5))
|
||||
(?v_41 (- x4 x6))
|
||||
(?v_42 (- x4 x7))
|
||||
(?v_43 (- x4 x8))
|
||||
(?v_44 (- x4 x9))
|
||||
(?v_45 (- x5 x6))
|
||||
(?v_46 (- x5 x7))
|
||||
(?v_47 (- x5 x8))
|
||||
(?v_48 (- x5 x9))
|
||||
(?v_49 (- x6 x7))
|
||||
(?v_50 (- x6 x8))
|
||||
(?v_51 (- x6 x9))
|
||||
(?v_52 (- x7 x8))
|
||||
(?v_53 (- x7 x9))
|
||||
(?v_54 (- x8 x9)))
|
||||
(and (<= ?v_0 9) (>= ?v_0 0) (<= ?v_1 9) (>= ?v_1 0) (<= ?v_2 9) (>= ?v_2 0)
|
||||
(<= ?v_3 9) (>= ?v_3 0) (<= ?v_4 9) (>= ?v_4 0) (<= ?v_5 9) (>= ?v_5 0)
|
||||
(<= ?v_6 9) (>= ?v_6 0) (<= ?v_7 9) (>= ?v_7 0) (<= ?v_8 9) (>= ?v_8 0)
|
||||
(<= ?v_9 9) (>= ?v_9 0)
|
||||
(not (= x0 x1)) (not (= x0 x2)) (not (= x0 x3)) (not (= x0 x4))
|
||||
(not (= x0 x5)) (not (= x0 x6)) (not (= x0 x7)) (not (= x0 x8))
|
||||
(not (= x0 x9)) (not (= x1 x2)) (not (= x1 x3)) (not (= x1 x4))
|
||||
(not (= x1 x5)) (not (= x1 x6)) (not (= x1 x7)) (not (= x1 x8))
|
||||
(not (= x1 x9)) (not (= x2 x3)) (not (= x2 x4)) (not (= x2 x5))
|
||||
(not (= x2 x6)) (not (= x2 x7)) (not (= x2 x8)) (not (= x2 x9))
|
||||
(not (= x3 x4)) (not (= x3 x5)) (not (= x3 x6)) (not (= x3 x7))
|
||||
(not (= x3 x8)) (not (= x3 x9)) (not (= x4 x5)) (not (= x4 x6))
|
||||
(not (= x4 x7)) (not (= x4 x8)) (not (= x4 x9)) (not (= x5 x6))
|
||||
(not (= x5 x7)) (not (= x5 x8)) (not (= x5 x9)) (not (= x6 x7))
|
||||
(not (= x6 x8)) (not (= x6 x9)) (not (= x7 x8)) (not (= x7 x9))
|
||||
(not (= x8 x9))
|
||||
(not (= ?v_10 1)) (not (= ?v_10 (- 1))) (not (= ?v_11 2))
|
||||
(not (= ?v_11 (- 2))) (not (= ?v_12 3)) (not (= ?v_12 (- 3)))
|
||||
(not (= ?v_13 4)) (not (= ?v_13 (- 4))) (not (= ?v_14 5))
|
||||
(not (= ?v_14 (- 5))) (not (= ?v_15 6)) (not (= ?v_15 (- 6)))
|
||||
(not (= ?v_16 7)) (not (= ?v_16 (- 7))) (not (= ?v_17 8))
|
||||
(not (= ?v_17 (- 8))) (not (= ?v_18 9)) (not (= ?v_18 (- 9)))
|
||||
(not (= ?v_19 1)) (not (= ?v_19 (- 1))) (not (= ?v_20 2))
|
||||
(not (= ?v_20 (- 2))) (not (= ?v_21 3)) (not (= ?v_21 (- 3)))
|
||||
(not (= ?v_22 4)) (not (= ?v_22 (- 4))) (not (= ?v_23 5))
|
||||
(not (= ?v_23 (- 5))) (not (= ?v_24 6)) (not (= ?v_24 (- 6)))
|
||||
(not (= ?v_25 7)) (not (= ?v_25 (- 7))) (not (= ?v_26 8))
|
||||
(not (= ?v_26 (- 8))) (not (= ?v_27 1)) (not (= ?v_27 (- 1)))
|
||||
(not (= ?v_28 2)) (not (= ?v_28 (- 2))) (not (= ?v_29 3))
|
||||
(not (= ?v_29 (- 3))) (not (= ?v_30 4)) (not (= ?v_30 (- 4)))
|
||||
(not (= ?v_31 5)) (not (= ?v_31 (- 5))) (not (= ?v_32 6))
|
||||
(not (= ?v_32 (- 6))) (not (= ?v_33 7)) (not (= ?v_33 (- 7)))
|
||||
(not (= ?v_34 1)) (not (= ?v_34 (- 1))) (not (= ?v_35 2))
|
||||
(not (= ?v_35 (- 2))) (not (= ?v_36 3)) (not (= ?v_36 (- 3)))
|
||||
(not (= ?v_37 4)) (not (= ?v_37 (- 4))) (not (= ?v_38 5))
|
||||
(not (= ?v_38 (- 5))) (not (= ?v_39 6)) (not (= ?v_39 (- 6)))
|
||||
(not (= ?v_40 1)) (not (= ?v_40 (- 1))) (not (= ?v_41 2))
|
||||
(not (= ?v_41 (- 2))) (not (= ?v_42 3)) (not (= ?v_42 (- 3)))
|
||||
(not (= ?v_43 4)) (not (= ?v_43 (- 4))) (not (= ?v_44 5))
|
||||
(not (= ?v_44 (- 5))) (not (= ?v_45 1)) (not (= ?v_45 (- 1)))
|
||||
(not (= ?v_46 2)) (not (= ?v_46 (- 2))) (not (= ?v_47 3))
|
||||
(not (= ?v_47 (- 3))) (not (= ?v_48 4)) (not (= ?v_48 (- 4)))
|
||||
(not (= ?v_49 1)) (not (= ?v_49 (- 1))) (not (= ?v_50 2))
|
||||
(not (= ?v_50 (- 2))) (not (= ?v_51 3)) (not (= ?v_51 (- 3)))
|
||||
(not (= ?v_52 1)) (not (= ?v_52 (- 1))) (not (= ?v_53 2))
|
||||
(not (= ?v_53 (- 2))) (not (= ?v_54 1)) (not (= ?v_54 (- 1))))))
|
||||
(check-sat)
|
||||
(exit)
|
||||
2104
samples/SMT/shufflevector.smt
Normal file
2104
samples/SMT/shufflevector.smt
Normal file
File diff suppressed because it is too large
Load Diff
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
|
||||
}
|
||||
|
||||
|
||||
28
samples/Unity3D Asset/GapTile.mat
Normal file
28
samples/Unity3D Asset/GapTile.mat
Normal file
@@ -0,0 +1,28 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: GapTile
|
||||
m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords: []
|
||||
m_CustomRenderQueue: -1
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
m_TexEnvs:
|
||||
data:
|
||||
first:
|
||||
name: _MainTex
|
||||
second:
|
||||
m_Texture: {fileID: 2800000, guid: e503f0c932121ce4881ab1605349488b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats: {}
|
||||
m_Colors:
|
||||
data:
|
||||
first:
|
||||
name: _Color
|
||||
second: {r: 1, g: 1, b: 1, a: 1}
|
||||
157
samples/Unity3D Asset/Hover.anim
Normal file
157
samples/Unity3D Asset/Hover.anim
Normal file
@@ -0,0 +1,157 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Hover
|
||||
serializedVersion: 4
|
||||
m_AnimationType: 1
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- time: 0
|
||||
value: {x: .25, y: .25, z: .25}
|
||||
inSlope: {x: 1.15384614, y: 1.15384614, z: 1.15384614}
|
||||
outSlope: {x: 1.15384614, y: 1.15384614, z: 1.15384614}
|
||||
tangentMode: 823140368
|
||||
- time: .649999976
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: 1.15384614, y: 1.15384614, z: 1.15384614}
|
||||
outSlope: {x: 1.15384614, y: 1.15384614, z: 1.15384614}
|
||||
tangentMode: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
path: Radius
|
||||
m_FloatCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- time: 0
|
||||
value: 1
|
||||
inSlope: -1.53846157
|
||||
outSlope: -1.53846157
|
||||
tangentMode: 10
|
||||
- time: .649999976
|
||||
value: 0
|
||||
inSlope: -1.53846157
|
||||
outSlope: -1.53846157
|
||||
tangentMode: 10
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
attribute: m_Color.a
|
||||
path: Radius
|
||||
classID: 212
|
||||
script: {fileID: 0}
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings: []
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_StartTime: 0
|
||||
m_StopTime: .649999976
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- time: 0
|
||||
value: .25
|
||||
inSlope: 1.15384614
|
||||
outSlope: 1.15384614
|
||||
tangentMode: 10
|
||||
- time: .649999976
|
||||
value: 1
|
||||
inSlope: 1.15384614
|
||||
outSlope: 1.15384614
|
||||
tangentMode: 10
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
attribute: m_LocalScale.x
|
||||
path: Radius
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- time: 0
|
||||
value: .25
|
||||
inSlope: 1.15384614
|
||||
outSlope: 1.15384614
|
||||
tangentMode: 10
|
||||
- time: .649999976
|
||||
value: 1
|
||||
inSlope: 1.15384614
|
||||
outSlope: 1.15384614
|
||||
tangentMode: 10
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
attribute: m_LocalScale.y
|
||||
path: Radius
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- time: 0
|
||||
value: .25
|
||||
inSlope: 1.15384614
|
||||
outSlope: 1.15384614
|
||||
tangentMode: 10
|
||||
- time: .649999976
|
||||
value: 1
|
||||
inSlope: 1.15384614
|
||||
outSlope: 1.15384614
|
||||
tangentMode: 10
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
attribute: m_LocalScale.z
|
||||
path: Radius
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- time: 0
|
||||
value: 1
|
||||
inSlope: -1.53846157
|
||||
outSlope: -1.53846157
|
||||
tangentMode: 10
|
||||
- time: .649999976
|
||||
value: 0
|
||||
inSlope: -1.53846157
|
||||
outSlope: -1.53846157
|
||||
tangentMode: 10
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
attribute: m_Color.a
|
||||
path: Radius
|
||||
classID: 212
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves: []
|
||||
m_Events: []
|
||||
5
samples/Unity3D Asset/Tiles.meta
Normal file
5
samples/Unity3D Asset/Tiles.meta
Normal file
@@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9e5c401e9d1d5415fbf2854b29c004c4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
userData:
|
||||
8
samples/Unity3D Asset/TimeManager.asset
Normal file
8
samples/Unity3D Asset/TimeManager.asset
Normal file
@@ -0,0 +1,8 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!5 &1
|
||||
TimeManager:
|
||||
m_ObjectHideFlags: 0
|
||||
Fixed Timestep: .0199999996
|
||||
Maximum Allowed Timestep: .333333343
|
||||
m_TimeScale: 1
|
||||
157
samples/Unity3D Asset/canvas_Fullscreen_Fader.prefab
Normal file
157
samples/Unity3D Asset/canvas_Fullscreen_Fader.prefab
Normal file
@@ -0,0 +1,157 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &100000
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
serializedVersion: 4
|
||||
m_Component:
|
||||
- 224: {fileID: 22400000}
|
||||
- 222: {fileID: 22200000}
|
||||
- 114: {fileID: 11400004}
|
||||
- 114: {fileID: 11400002}
|
||||
- 114: {fileID: 11400000}
|
||||
m_Layer: 5
|
||||
m_Name: Fader_Tint
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!1 &100002
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
serializedVersion: 4
|
||||
m_Component:
|
||||
- 224: {fileID: 22400002}
|
||||
- 223: {fileID: 22300000}
|
||||
m_Layer: 5
|
||||
m_Name: canvas_Fullscreen_Fader
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0e5786b8fa0564f23a168e1c45671759, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
fadeOut: 1
|
||||
alwaysUseClearAsStartColor: 0
|
||||
_fadeOnStart: 1
|
||||
_startFaded: 0
|
||||
_fadeOnStartDelay: 1
|
||||
_fadeTime: .800000012
|
||||
--- !u!114 &11400002
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c6d2a81ac2fb947e8a9aa86b4133fafd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_toDeactivate: []
|
||||
--- !u!114 &11400004
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 0}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: .996078432, g: .949019611, b: .862745106, a: 1}
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
--- !u!222 &22200000
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 100000}
|
||||
--- !u!223 &22300000
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 100002}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_RenderMode: 0
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 1
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 1
|
||||
--- !u!224 &22400000
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 22400002}
|
||||
m_RootOrder: 0
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: .5, y: .5}
|
||||
--- !u!224 &22400002
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 1
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 100100000}
|
||||
m_GameObject: {fileID: 100002}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_Children:
|
||||
- {fileID: 22400000}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!1001 &100100000
|
||||
Prefab:
|
||||
m_ObjectHideFlags: 1
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications: []
|
||||
m_RemovedComponents: []
|
||||
m_ParentPrefab: {fileID: 0}
|
||||
m_RootGameObject: {fileID: 100002}
|
||||
m_IsPrefabParent: 1
|
||||
m_IsExploded: 1
|
||||
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>
|
||||
4
samples/XML/point-3.1.gml
Normal file
4
samples/XML/point-3.1.gml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0"?>
|
||||
<gml:Point xmlns:gml="http://www.opengis.net/gml" srsName="urn:ogc:def:crs:EPSG::4326" gml:id="uuid.12b3c8bb-bc8a-4f83-9085-1a5f3280b8ba">
|
||||
<gml:pos>52.56 13.29</gml:pos>
|
||||
</gml:Point>
|
||||
4
samples/XML/point-3.2.gml
Normal file
4
samples/XML/point-3.2.gml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0"?>
|
||||
<gml:Point xmlns:gml="http://www.opengis.net/gml/3.2" srsName="urn:ogc:def:crs:EPSG::4326" gml:id="uuid.12b3c8bb-bc8a-4f83-9085-1a5f3280b8ba">
|
||||
<gml:pos>52.56 13.29</gml:pos>
|
||||
</gml:Point>
|
||||
Reference in New Issue
Block a user