rsense-core 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +1 -0
  5. data/README.md +35 -0
  6. data/Rakefile +84 -0
  7. data/TypeAnnotation.tokens +41 -0
  8. data/build.xml +84 -0
  9. data/build_lib/antlr-3.2.jar +0 -0
  10. data/lib/jars/ant-1.7.0.jar +0 -0
  11. data/lib/jars/ant-launcher-1.7.0.jar +0 -0
  12. data/lib/jars/antlr-runtime-3.2.jar +0 -0
  13. data/lib/jars/bsf-2.3.0.jar +0 -0
  14. data/lib/rsense-core.rb +28 -0
  15. data/lib/rsense.jar +0 -0
  16. data/lib/rsense/core.rb +5 -0
  17. data/lib/rsense/core/version.rb +5 -0
  18. data/lib/rsense/parser.rb +6 -0
  19. data/lib/rsense/ruby.rb +19 -0
  20. data/lib/rsense/typing.rb +13 -0
  21. data/lib/rsense/typing/annotation.rb +20 -0
  22. data/lib/rsense/typing/runtime.rb +23 -0
  23. data/lib/rsense/typing/vertex.rb +15 -0
  24. data/lib/rsense/util.rb +9 -0
  25. data/rsense-core.gemspec +30 -0
  26. data/src/org/cx4a/rsense/CodeAssist.java +744 -0
  27. data/src/org/cx4a/rsense/CodeAssistError.java +31 -0
  28. data/src/org/cx4a/rsense/CodeAssistResult.java +42 -0
  29. data/src/org/cx4a/rsense/CodeCompletionResult.java +65 -0
  30. data/src/org/cx4a/rsense/FindDefinitionResult.java +24 -0
  31. data/src/org/cx4a/rsense/LoadResult.java +19 -0
  32. data/src/org/cx4a/rsense/Main.java +916 -0
  33. data/src/org/cx4a/rsense/Options.java +353 -0
  34. data/src/org/cx4a/rsense/Project.java +103 -0
  35. data/src/org/cx4a/rsense/TypeInferenceResult.java +25 -0
  36. data/src/org/cx4a/rsense/WhereResult.java +19 -0
  37. data/src/org/cx4a/rsense/parser/TypeAnnotation.g +221 -0
  38. data/src/org/cx4a/rsense/parser/TypeAnnotationLexer.java +1759 -0
  39. data/src/org/cx4a/rsense/parser/TypeAnnotationParser.java +2025 -0
  40. data/src/org/cx4a/rsense/ruby/Block.java +10 -0
  41. data/src/org/cx4a/rsense/ruby/Context.java +75 -0
  42. data/src/org/cx4a/rsense/ruby/DynamicMethod.java +10 -0
  43. data/src/org/cx4a/rsense/ruby/DynamicScope.java +51 -0
  44. data/src/org/cx4a/rsense/ruby/Frame.java +95 -0
  45. data/src/org/cx4a/rsense/ruby/IRubyObject.java +17 -0
  46. data/src/org/cx4a/rsense/ruby/LocalScope.java +43 -0
  47. data/src/org/cx4a/rsense/ruby/MetaClass.java +50 -0
  48. data/src/org/cx4a/rsense/ruby/Ruby.java +242 -0
  49. data/src/org/cx4a/rsense/ruby/RubyClass.java +146 -0
  50. data/src/org/cx4a/rsense/ruby/RubyModule.java +255 -0
  51. data/src/org/cx4a/rsense/ruby/RubyObject.java +94 -0
  52. data/src/org/cx4a/rsense/ruby/Scope.java +7 -0
  53. data/src/org/cx4a/rsense/ruby/SpecialObject.java +15 -0
  54. data/src/org/cx4a/rsense/ruby/Visibility.java +17 -0
  55. data/src/org/cx4a/rsense/typing/Graph.java +1690 -0
  56. data/src/org/cx4a/rsense/typing/Propagation.java +73 -0
  57. data/src/org/cx4a/rsense/typing/Template.java +84 -0
  58. data/src/org/cx4a/rsense/typing/TemplateAttribute.java +158 -0
  59. data/src/org/cx4a/rsense/typing/TypeSet.java +48 -0
  60. data/src/org/cx4a/rsense/typing/annotation/ClassType.java +57 -0
  61. data/src/org/cx4a/rsense/typing/annotation/MethodType.java +79 -0
  62. data/src/org/cx4a/rsense/typing/annotation/TypeAnnotation.java +4 -0
  63. data/src/org/cx4a/rsense/typing/annotation/TypeAny.java +7 -0
  64. data/src/org/cx4a/rsense/typing/annotation/TypeApplication.java +37 -0
  65. data/src/org/cx4a/rsense/typing/annotation/TypeConstraint.java +29 -0
  66. data/src/org/cx4a/rsense/typing/annotation/TypeExpression.java +11 -0
  67. data/src/org/cx4a/rsense/typing/annotation/TypeIdentity.java +59 -0
  68. data/src/org/cx4a/rsense/typing/annotation/TypeOptional.java +22 -0
  69. data/src/org/cx4a/rsense/typing/annotation/TypePragma.java +22 -0
  70. data/src/org/cx4a/rsense/typing/annotation/TypeSplat.java +22 -0
  71. data/src/org/cx4a/rsense/typing/annotation/TypeTuple.java +35 -0
  72. data/src/org/cx4a/rsense/typing/annotation/TypeUnion.java +23 -0
  73. data/src/org/cx4a/rsense/typing/annotation/TypeVariable.java +44 -0
  74. data/src/org/cx4a/rsense/typing/runtime/AliasMethod.java +94 -0
  75. data/src/org/cx4a/rsense/typing/runtime/AnnotationHelper.java +69 -0
  76. data/src/org/cx4a/rsense/typing/runtime/AnnotationResolver.java +523 -0
  77. data/src/org/cx4a/rsense/typing/runtime/Array.java +84 -0
  78. data/src/org/cx4a/rsense/typing/runtime/ClassTag.java +27 -0
  79. data/src/org/cx4a/rsense/typing/runtime/DefaultMethod.java +115 -0
  80. data/src/org/cx4a/rsense/typing/runtime/Hash.java +131 -0
  81. data/src/org/cx4a/rsense/typing/runtime/LoopTag.java +21 -0
  82. data/src/org/cx4a/rsense/typing/runtime/Method.java +32 -0
  83. data/src/org/cx4a/rsense/typing/runtime/MonomorphicObject.java +77 -0
  84. data/src/org/cx4a/rsense/typing/runtime/ObjectAllocator.java +40 -0
  85. data/src/org/cx4a/rsense/typing/runtime/PolymorphicObject.java +90 -0
  86. data/src/org/cx4a/rsense/typing/runtime/Proc.java +100 -0
  87. data/src/org/cx4a/rsense/typing/runtime/RuntimeHelper.java +1339 -0
  88. data/src/org/cx4a/rsense/typing/runtime/SpecialMethod.java +119 -0
  89. data/src/org/cx4a/rsense/typing/runtime/TypeVarMap.java +112 -0
  90. data/src/org/cx4a/rsense/typing/runtime/VertexHolder.java +48 -0
  91. data/src/org/cx4a/rsense/typing/vertex/CallVertex.java +122 -0
  92. data/src/org/cx4a/rsense/typing/vertex/MultipleAsgnVertex.java +23 -0
  93. data/src/org/cx4a/rsense/typing/vertex/PassThroughVertex.java +20 -0
  94. data/src/org/cx4a/rsense/typing/vertex/SValueVertex.java +24 -0
  95. data/src/org/cx4a/rsense/typing/vertex/SplatVertex.java +24 -0
  96. data/src/org/cx4a/rsense/typing/vertex/ToAryVertex.java +24 -0
  97. data/src/org/cx4a/rsense/typing/vertex/TypeVarVertex.java +22 -0
  98. data/src/org/cx4a/rsense/typing/vertex/Vertex.java +221 -0
  99. data/src/org/cx4a/rsense/typing/vertex/YieldVertex.java +70 -0
  100. data/src/org/cx4a/rsense/util/HereDocReader.java +48 -0
  101. data/src/org/cx4a/rsense/util/Logger.java +111 -0
  102. data/src/org/cx4a/rsense/util/NodeUtil.java +198 -0
  103. data/src/org/cx4a/rsense/util/SourceLocation.java +70 -0
  104. data/src/org/cx4a/rsense/util/StringUtil.java +63 -0
  105. data/src/resources/org/cx4a/rsense/rsense.properties +1 -0
  106. data/stubs/1.8/_builtin.rb +3006 -0
  107. data/stubs/1.8/bigdecimal.rb +131 -0
  108. data/stubs/1.8/cgi.rb +257 -0
  109. data/stubs/1.8/date.rb +147 -0
  110. data/stubs/1.8/optparse.rb +113 -0
  111. data/stubs/1.8/rational.rb +47 -0
  112. data/stubs/1.8/set.rb +94 -0
  113. data/stubs/1.8/socket.rb +461 -0
  114. data/stubs/1.8/stringio.rb +129 -0
  115. data/test/data/a file.rb +1 -0
  116. data/test/data/benchmark.rb +12 -0
  117. data/test/data/crlf.rb +5 -0
  118. data/test/data/test.rb +19 -0
  119. data/test/script/all.rsense +2 -0
  120. data/test/script/array_dynamic.rsense +25 -0
  121. data/test/script/block_nested.rsense +7 -0
  122. data/test/script/builtin.rsense +785 -0
  123. data/test/script/class_method_partial_update.rsense +52 -0
  124. data/test/script/class_partial_update.rsense +17 -0
  125. data/test/script/find-definition.rsense +72 -0
  126. data/test/script/method_arg_onearg.rsense +6 -0
  127. data/test/script/method_arg_optional.rsense +7 -0
  128. data/test/script/method_partial_update.rsense +14 -0
  129. data/test/script/method_yield_arrayarg.rsense +8 -0
  130. data/test/script/method_yield_arrayarg_expand.rsense +8 -0
  131. data/test/script/method_yield_arrayarg_splat.rsense +17 -0
  132. data/test/script/misc.rsense +2 -0
  133. data/test/script/proc_higher_order.rsense +22 -0
  134. data/test/script/regression.rsense +95 -0
  135. data/test/script/stdlib.rsense +66 -0
  136. data/test/script/where.rsense +41 -0
  137. metadata +315 -0
@@ -0,0 +1,198 @@
1
+ package org.cx4a.rsense.util;
2
+
3
+ import org.jrubyparser.NodeVisitor;
4
+ import org.jrubyparser.ast.*;
5
+
6
+
7
+ public class NodeUtil {
8
+
9
+ private NodeUtil() {}
10
+
11
+ public static int nodeHashCode(Node node) {
12
+ if (node == null) return 0;
13
+ return new NodeHashCodeCalculator(node).getHashCode();
14
+ }
15
+
16
+ private static class NodeHashCodeCalculator implements NodeVisitor {
17
+ private int hashCode;
18
+
19
+ public NodeHashCodeCalculator(Node node) {
20
+ hashCode = 0;
21
+ node.accept(this);
22
+ }
23
+
24
+ public int getHashCode() {
25
+ return hashCode;
26
+ }
27
+
28
+ public Object visitAliasNode(AliasNode node) { return update(0); }
29
+ public Object visitAndNode(AndNode node) { return update(1); }
30
+ public Object visitArgsNode(ArgsNode node) { return update(2); }
31
+ public Object visitArgsCatNode(ArgsCatNode node) { return update(3); }
32
+ public Object visitArgsPushNode(ArgsPushNode node) { return update(4); }
33
+ public Object visitArrayNode(ArrayNode node) { return update(5); }
34
+ public Object visitAttrAssignNode(AttrAssignNode node) { return update(6); }
35
+ public Object visitBackRefNode(BackRefNode node) { return update(7); }
36
+ public Object visitBeginNode(BeginNode node) { return update(8); }
37
+ public Object visitBignumNode(BignumNode node) { return update(9); }
38
+ public Object visitBlockArgNode(BlockArgNode node) { return update(10); }
39
+ public Object visitBlockNode(BlockNode node) { return update(11); }
40
+ public Object visitBlockPassNode(BlockPassNode node) { return update(12); }
41
+ public Object visitBreakNode(BreakNode node) { return update(13); }
42
+ public Object visitConstDeclNode(ConstDeclNode node) { return update(14); }
43
+ public Object visitClassVarAsgnNode(ClassVarAsgnNode node) { return update(15); }
44
+ public Object visitClassVarDeclNode(ClassVarDeclNode node) { return update(16); }
45
+ public Object visitClassVarNode(ClassVarNode node) { return update(17); }
46
+ public Object visitCallNode(CallNode node) { return update(18); }
47
+ public Object visitCaseNode(CaseNode node) { return update(19); }
48
+ public Object visitClassNode(ClassNode node) { return update(20); }
49
+ public Object visitColon2Node(Colon2Node node) { return update(21); }
50
+ public Object visitColon3Node(Colon3Node node) { return update(22); }
51
+ public Object visitConstNode(ConstNode node) { return update(23); }
52
+ public Object visitDAsgnNode(DAsgnNode node) { return update(24); }
53
+ public Object visitDRegxNode(DRegexpNode node) { return update(25); }
54
+ public Object visitDStrNode(DStrNode node) { return update(26); }
55
+ public Object visitDSymbolNode(DSymbolNode node) { return update(27); }
56
+ public Object visitDVarNode(DVarNode node) { return update(28); }
57
+ public Object visitDXStrNode(DXStrNode node) { return update(29); }
58
+ public Object visitDefinedNode(DefinedNode node) { return update(30); }
59
+ public Object visitDefnNode(DefnNode node) { return update(31); }
60
+ public Object visitDefsNode(DefsNode node) { return update(32); }
61
+ public Object visitDotNode(DotNode node) { return update(33); }
62
+ public Object visitEncodingNode(EncodingNode node) { return update(34); }
63
+ public Object visitEnsureNode(EnsureNode node) { return update(35); }
64
+ public Object visitEvStrNode(EvStrNode node) { return update(36); }
65
+ public Object visitFCallNode(FCallNode node) { return update(37); }
66
+ public Object visitFalseNode(FalseNode node) { return update(38); }
67
+ public Object visitFixnumNode(FixnumNode node) { return update(39); }
68
+ public Object visitFlipNode(FlipNode node) { return update(40); }
69
+ public Object visitFloatNode(FloatNode node) { return update(41); }
70
+ public Object visitForNode(ForNode node) { return update(42); }
71
+ public Object visitGlobalAsgnNode(GlobalAsgnNode node) { return update(43); }
72
+ public Object visitGlobalVarNode(GlobalVarNode node) { return update(44); }
73
+ public Object visitHashNode(HashNode node) { return update(45); }
74
+ public Object visitInstAsgnNode(InstAsgnNode node) { return update(46); }
75
+ public Object visitInstVarNode(InstVarNode node) { return update(47); }
76
+ public Object visitIfNode(IfNode node) { return update(48); }
77
+ public Object visitIterNode(IterNode node) { return update(49); }
78
+ public Object visitLocalAsgnNode(LocalAsgnNode node) { return update(50); }
79
+ public Object visitLocalVarNode(LocalVarNode node) { return update(51); }
80
+ public Object visitMultipleAsgnNode(MultipleAsgnNode node) { return update(52); }
81
+ public Object visitMatch2Node(Match2Node node) { return update(54); }
82
+ public Object visitMatch3Node(Match3Node node) { return update(55); }
83
+ public Object visitMatchNode(MatchNode node) { return update(56); }
84
+ public Object visitModuleNode(ModuleNode node) { return update(57); }
85
+ public Object visitNewlineNode(NewlineNode node) { return update(58); }
86
+ public Object visitNextNode(NextNode node) { return update(59); }
87
+ public Object visitNilNode(NilNode node) { return update(60); }
88
+ public Object visitNotNode(NotNode node) { return update(61); }
89
+ public Object visitNthRefNode(NthRefNode node) { return update(62); }
90
+ public Object visitOpElementAsgnNode(OpElementAsgnNode node) { return update(63); }
91
+ public Object visitOpAsgnNode(OpAsgnNode node) { return update(64); }
92
+ public Object visitOpAsgnAndNode(OpAsgnAndNode node) { return update(65); }
93
+ public Object visitOpAsgnOrNode(OpAsgnOrNode node) { return update(66); }
94
+ public Object visitOrNode(OrNode node) { return update(67); }
95
+ public Object visitPreExeNode(PreExeNode node) { return update(68); }
96
+ public Object visitPostExeNode(PostExeNode node) { return update(69); }
97
+ public Object visitRedoNode(RedoNode node) { return update(70); }
98
+ public Object visitRegexpNode(RegexpNode node) { return update(71); }
99
+ public Object visitRescueBodyNode(RescueBodyNode node) { return update(72); }
100
+ public Object visitRescueNode(RescueNode node) { return update(73); }
101
+ public Object visitRestArgNode(RestArgNode node) { return update(74); }
102
+ public Object visitRetryNode(RetryNode node) { return update(75); }
103
+ public Object visitReturnNode(ReturnNode node) { return update(76); }
104
+ public Object visitRootNode(RootNode node) { return update(77); }
105
+ public Object visitSClassNode(SClassNode node) { return update(78); }
106
+ public Object visitSelfNode(SelfNode node) { return update(79); }
107
+ public Object visitSplatNode(SplatNode node) { return update(80); }
108
+ public Object visitStrNode(StrNode node) { return update(81); }
109
+ public Object visitSuperNode(SuperNode node) { return update(82); }
110
+ public Object visitSValueNode(SValueNode node) { return update(83); }
111
+ public Object visitSymbolNode(SymbolNode node) { return update(84); }
112
+ public Object visitToAryNode(ToAryNode node) { return update(85); }
113
+ public Object visitTrueNode(TrueNode node) { return update(86); }
114
+ public Object visitUndefNode(UndefNode node) { return update(87); }
115
+ public Object visitUntilNode(UntilNode node) { return update(88); }
116
+ public Object visitVAliasNode(VAliasNode node) { return update(89); }
117
+ public Object visitVCallNode(VCallNode node) { return update(90); }
118
+ public Object visitWhenNode(WhenNode node) { return update(91); }
119
+ public Object visitWhileNode(WhileNode node) { return update(92); }
120
+ public Object visitXStrNode(XStrNode node) { return update(93); }
121
+ public Object visitYieldNode(YieldNode node) { return update(94); }
122
+ public Object visitZArrayNode(ZArrayNode node) { return update(95); }
123
+ public Object visitZSuperNode(ZSuperNode node) { return update(96); }
124
+
125
+ private Object update(int n) {
126
+ hashCode = hashCode * 13 + n;
127
+ return this;
128
+ }
129
+
130
+ // FIXME: I don't know this fits into the grand scheme of things...Let's see about test coverage.
131
+ @Override
132
+ public Object visitArgumentNode(ArgumentNode an) {
133
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
134
+ }
135
+
136
+ @Override
137
+ public Object visitBlockArg18Node(BlockArg18Node node) {
138
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
139
+ }
140
+
141
+ @Override
142
+ public Object visitCommentNode(CommentNode node) {
143
+ throw new UnsupportedOperationException("Not supported yet.");
144
+ }
145
+
146
+ @Override
147
+ public Object visitImplicitNilNode(ImplicitNilNode kan) {
148
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
149
+ }
150
+
151
+ @Override
152
+ public Object visitKeywordArgNode(KeywordArgNode kan) {
153
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
154
+ }
155
+
156
+ @Override
157
+ public Object visitKeywordRestArgNode(KeywordRestArgNode kran) {
158
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
159
+ }
160
+
161
+ @Override
162
+ public Object visitLambdaNode(LambdaNode node) {
163
+ throw new UnsupportedOperationException("Not supported yet.");
164
+ }
165
+
166
+ @Override
167
+ public Object visitLiteralNode(LiteralNode node) {
168
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
169
+ }
170
+
171
+ @Override
172
+ public Object visitListNode(ListNode ln) {
173
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
174
+ }
175
+
176
+ @Override
177
+ public Object visitMethodNameNode(MethodNameNode mnn) {
178
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
179
+ }
180
+
181
+ @Override
182
+ public Object visitOptArgNode(OptArgNode oan) {
183
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
184
+ }
185
+
186
+ @Override
187
+ public Object visitSyntaxNode(SyntaxNode node) {
188
+ throw new UnsupportedOperationException("Not supported yet.");
189
+ }
190
+
191
+ @Override
192
+ public Object visitUnaryCallNode(UnaryCallNode kan) {
193
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
194
+ }
195
+
196
+
197
+ }
198
+ }
@@ -0,0 +1,70 @@
1
+ package org.cx4a.rsense.util;
2
+
3
+ import org.jrubyparser.ast.Node;
4
+ import org.jrubyparser.SourcePosition;
5
+
6
+ import org.cx4a.rsense.typing.vertex.Vertex;
7
+
8
+ public class SourceLocation {
9
+ private String file;
10
+ private int line;
11
+
12
+ public SourceLocation(String file, int line) {
13
+ this.file = file;
14
+ this.line = line;
15
+ }
16
+
17
+ public String getFile() {
18
+ return file;
19
+ }
20
+
21
+ public int getLine() {
22
+ return line;
23
+ }
24
+
25
+ @Override
26
+ public int hashCode() {
27
+ return line ^ (file != null ? file.hashCode() : 0);
28
+ }
29
+
30
+ @Override
31
+ public boolean equals(Object other) {
32
+ if (this == other)
33
+ return true;
34
+ else if (!(other instanceof SourceLocation))
35
+ return false;
36
+
37
+ SourceLocation o = (SourceLocation) other;
38
+ return line == o.line
39
+ && ((file == null && o.file == null)
40
+ || (file != null && file.equals(o.file)));
41
+ }
42
+
43
+ @Override
44
+ public String toString() {
45
+ return file + ":" + line;
46
+ }
47
+
48
+ public static SourceLocation of(Node node) {
49
+ SourcePosition pos = node.getPosition();
50
+ //TODO : find out about SourcePosition.INVALID_POSITION
51
+ // if (pos != null && pos != SourcePosition.INVALID_POSITION) {
52
+ // return new SourceLocation(pos.getFile(), pos.getStartLine() + 1);
53
+ // } else {
54
+ // return null;
55
+ // }
56
+ if (pos != null) {
57
+ return new SourceLocation(pos.getFile(), pos.getStartLine() + 1);
58
+ } else {
59
+ return null;
60
+ }
61
+ }
62
+
63
+ public static SourceLocation of(Vertex vertex) {
64
+ if (vertex != null && vertex.getNode() != null) {
65
+ return of(vertex.getNode());
66
+ } else {
67
+ return null;
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,63 @@
1
+ package org.cx4a.rsense.util;
2
+
3
+ import java.util.List;
4
+ import java.util.ArrayList;
5
+
6
+ public class StringUtil {
7
+ private StringUtil() {}
8
+
9
+ public static String[] shellwords(String command) {
10
+ List<String> result = new ArrayList<String>();
11
+ char[] cs = command.toCharArray();
12
+ int len = cs.length;
13
+ StringBuilder sb = null;
14
+ boolean escape = false;
15
+ char quote = 0;
16
+ for (int i = 0; i < len; ) {
17
+ char c = cs[i++];
18
+
19
+ // Skip whitespaces
20
+ if (!escape && quote == 0) {
21
+ while (i < len && Character.isWhitespace(c)) {
22
+ if (sb != null) {
23
+ result.add(sb.toString());
24
+ sb = null;
25
+ }
26
+ c = cs[i++];
27
+ }
28
+ if (i > len) {
29
+ break;
30
+ }
31
+ }
32
+
33
+ // New field
34
+ if (sb == null) {
35
+ sb = new StringBuilder();
36
+ }
37
+
38
+ // Append character
39
+ if (escape) {
40
+ sb.append(c);
41
+ escape = false;
42
+ } else if (c == quote) {
43
+ quote = 0;
44
+ } else {
45
+ switch (c) {
46
+ case '"': case '\'':
47
+ quote = c;
48
+ break;
49
+ case '\\':
50
+ escape = true;
51
+ break;
52
+ default:
53
+ sb.append(c);
54
+ break;
55
+ }
56
+ }
57
+ }
58
+ if (sb != null) {
59
+ result.add(sb.toString());
60
+ }
61
+ return result.toArray(new String[0]);
62
+ }
63
+ }
@@ -0,0 +1 @@
1
+ rsense.version = 0.5.0
@@ -0,0 +1,3006 @@
1
+ # -*- coding: undecided -*-
2
+ # ruby 1.8.7 builtin library stub
3
+ # http://doc.okkez.net/187/view/library/
4
+
5
+ BOOLEAN = true || false
6
+
7
+ module Enumerable; end
8
+ module Precision; end
9
+ class IO; end
10
+ class File < IO; end
11
+ module File::Constants; end
12
+
13
+ ##% Array<t>
14
+ class Array
15
+ # FIXME to_ary for +, -, &
16
+
17
+ include Enumerable
18
+
19
+ ##% self.[](*a) -> a
20
+ def self.[](*item) item end
21
+ ##% self.new(?Integer, ?a) -> Array<a>
22
+ ##% self.new<a | a <= Array>(?a) -> a
23
+ ##% self.new<v>(Integer) {Integer -> v} -> Array<v>
24
+ def self.new(*) end
25
+
26
+ # FIXME to_ary
27
+
28
+ ##% &<v>(Array<v>) -> Array<t or v>
29
+ def &(other) self || other end
30
+ ##% "*"(Integer) -> Array<t>
31
+ ##% "*"(String) -> String
32
+ def *(times) self end
33
+ ##% +(Array<v>) -> Array<t or v>
34
+ def +(other) self || other end
35
+ ##% -(Array<v>) -> Array<t or v>
36
+ def -(other) self || other end
37
+ ##% "<<"<v | v <= t>(v) -> self
38
+ def <<(obj) self end
39
+ ##% "<=>"(a) -> Fixnum
40
+ def <=>(other) 0 end
41
+ ##% ==(a) -> Boolean
42
+ def ==(other) BOOLEAN end
43
+ ##% [](Integer) -> t
44
+ ##% [](Range) -> Array<t>
45
+ ##% [](Integer, Integer) -> Array<t>
46
+ def [](*) at(0) end
47
+ ##% []=<v | v <= t>(Integer, v) -> v
48
+ ##% []=<v | v <= t>(Range, Array<v>) -> Array<v>
49
+ ##% []=<v | v <= t>(Integer, Integer, Array<v>) -> Array<v>
50
+ def []=(*) self end
51
+ # FIXME
52
+ ##% assoc<k, v | t <= (k, v)>(k) -> v
53
+ def assoc(key) [0][1] end
54
+ ##% at(Integer) -> t
55
+ def at(pos) _e end
56
+ ##% choice() -> t
57
+ def choice() [0] end
58
+ # FIXME
59
+ ##% clear() -> self
60
+ def clear() self end
61
+ ##% clone() -> Array<t>
62
+ def clone() self end
63
+ alias :dup :clone
64
+ # FIXME
65
+ ##% collect!() {t -> ?} -> self
66
+ ##% collect!() -> Enumerator<self, t>
67
+ def collect!() yield _e; self end
68
+ alias :map! :collect!
69
+ ##% combination(Integer) {Array<t> -> ?} -> Array<Array<t> >
70
+ ##% combination(Integer) -> Enumerator<Array<Array<t> >, Array<t> >
71
+ def combination(n) yield [_e]; [[_e]] end
72
+ ##% compact() -> Array<t>
73
+ def compact() self end
74
+ ##% compact!() -> self
75
+ def compact!() self end
76
+ ##% concat<v | v <= t>(Array<v>) -> self
77
+ def concat(other) self end
78
+ ##% cycle() {t -> ?} -> self
79
+ def cycle() yield _e; self end
80
+ ##% delete(a) -> a
81
+ ##% delete<v>(a) {() -> v} -> v
82
+ def delete(val) val end
83
+ ##% delete_at(Integer) -> t
84
+ def delete_at(pos) _e end
85
+ ##% delete_if() -> Enumerator<self, t>
86
+ ##% delete_if() {t -> ?} -> self
87
+ def delete_if() self end
88
+ alias :reject! :delete_if
89
+ ##% each() {t -> ?} -> self
90
+ ##% each() -> Enumerator<self, t>
91
+ def each() yield _e; self end
92
+ ##% each_index() {Integer -> ?} -> self
93
+ ##% each_index() -> Enumerator<self, Integer>
94
+ def each_index() yield 0; self end
95
+ ##% empty?() -> Boolean
96
+ def empty?() Boolean end
97
+ ##% eql?(a) -> Boolean
98
+ def eql?(other) BOOLEAN end
99
+ ##% fetch(Integer) -> t
100
+ ##% fetch(Integer, ifnone) -> t or ifnone
101
+ ##% fetch<v>(Integer) {Integer -> v} -> t or v
102
+ def fetch(nth, ifnone = nil) _e || ifnone end
103
+ ##% fill<v | v <= t>(v) -> self
104
+ ##% fill<v | v <= t>() {Integer -> v} -> self
105
+ ##% fill<v | v <= t>(v, Integer, ?Integer) -> self
106
+ ##% fill<v | v <= t>(v, Range) -> self
107
+ ##% fill<v | v <= t>(Integer, ?Integer) {Integer -> v} -> self
108
+ ##% fill<v | v <= t>(Range) {Integer -> v} -> self
109
+ def fill(*) self end
110
+ ##% first() -> t
111
+ ##% first(Integer) -> Array<t>
112
+ def first(n = nil) _e end
113
+ # FIXME
114
+ ##% flatten(?Integer) -> Array<t>
115
+ def flatten(lv = nil) self end
116
+ # FIXME
117
+ ##% flatten!(?Integer) -> self
118
+ def flatten!(lv = nil) self end
119
+ ##% hash() -> Integer
120
+ def hash() 0 end
121
+ ##% include?(a) -> Boolean
122
+ def include?(val) Boolean end
123
+ ##% index(a) -> Integer
124
+ ##% index() {t -> ?} -> Integer
125
+ def index(val) 0 end
126
+ ##% indexes(*a) -> Array<t>
127
+ def indexes(*index) self end
128
+ ##% insert<v | v <= Array<t> >(Integer, *v) -> self
129
+ def insert(nth, *val) self end
130
+ ##% join (?String) -> String
131
+ def join(sep = $,) '' end
132
+ ##% last() -> t
133
+ ##% last(Integer) -> Array<t>
134
+ def last(n = nil) _e end
135
+ ##% length() -> Integer
136
+ def length() 0 end
137
+ alias :size :length
138
+ ##% nitems() -> Integer
139
+ ##% nitems() {t -> ?} -> Integer
140
+ def nitems() 0 end
141
+ ##% pack(String) -> String
142
+ def pack(template) '' end
143
+ ##% permutation(Integer) {Array<t> -> ?} -> Array<Array<t> >
144
+ ##% permutation(Integer) -> Enumerator<Array<Array<t> >, Array<t> >
145
+ def permutation(n) yield [_e]; [[_e]] end
146
+ ##% pop() -> t
147
+ ##% pop(Integer) -> Array<t>
148
+ def pop(n = 1) [0] end
149
+ # FIXME
150
+ def product(*) [[_e]] end
151
+ ##% push<v | v <= Array<t> >(*v) -> self
152
+ def push(*obj) self end
153
+ ##% rassoc<k, v | t <= (k, v)>(v) -> k
154
+ def rassoc(obj) [0][0] end
155
+ # FIXME
156
+ ##% replace(Array<t>) -> self
157
+ def replace(another) self end
158
+ ##% reverse() -> Array<t>
159
+ def reverse() self end
160
+ ##% reverse!() -> self
161
+ def reverse!() self end
162
+ ##% reverse_each() {t -> ?} -> self
163
+ ##% reverse_each() -> Enumerator<self, t>
164
+ def reverse_each() yield _e; self end
165
+ ##% rindex<v>(v) -> Integer
166
+ ##% rindex<v>() {Integer -> ?} -> Integer
167
+ def rindex(val) end
168
+ ##% shift() -> t
169
+ ##% shift(Integer) -> Array<t>
170
+ def shift() _e end
171
+ ##% shuffle() -> Array<t>
172
+ def shuffle() self end
173
+ ##% shuffle!() -> self
174
+ def shuffle!() self end
175
+ alias :slice :[]
176
+ alias :slice! :[]
177
+ ##% sort() -> Array<t>
178
+ ##% sort() {(t, t) -> ?} -> Array<t>
179
+ def sort() self end
180
+ ##% sort!() -> self
181
+ ##% sort!() {(t, t) -> ?} -> self
182
+ def sort!() self end
183
+ ##% to_a() -> Array<t>
184
+ def to_a() self end
185
+ ##% to_ary() -> self
186
+ def to_ary() self end
187
+ ##% to_s() -> String
188
+ def to_s() '' end
189
+ # FIXME
190
+ def transpose() self end
191
+ ##% uniq() -> Array<t>
192
+ def uniq() self end
193
+ ##% uniq!() -> self
194
+ def uniq!() self end
195
+ ##% unshift<v | v <= Array<t> >(*v) -> self
196
+ def unshift(*obj) self end
197
+ # FIXME
198
+ ##% values_at<k, v | t <= (k, v)>(*a) -> Array<v>
199
+ def values_at(*index) self end
200
+ # FIXME zip
201
+ ##% "|"<v>(Array<v>) -> Array<t or v>
202
+ def |(other) self || other end
203
+ end
204
+
205
+ class Bignum
206
+ ### Precision
207
+ ##% self.induced_from(a) -> Bignum
208
+ def self.induced_from(number) 0 end
209
+ ##% prec(Class) -> Bignum
210
+ def prec(klass) 0 end
211
+
212
+ ### Numeric
213
+ ##% +@() -> self
214
+ def +@() self end
215
+ ##% -@() -> Bignum
216
+ def -@() 0 end
217
+ ##% "<=>"(other) -> Fixnum
218
+ def <=>(other) 0 end
219
+ ##% abs() -> Bignum
220
+ def abs() self end
221
+ ##% ceil() -> Bignum
222
+ def ceil() 0 end
223
+ ##% clone() -> self
224
+ def clone() self end
225
+ alias :dup :clone
226
+ ##% coerce(Float) -> (Float, Float)
227
+ ##% coerce(Numeric) -> (Bignum, Bignum)
228
+ def coerce(other) [0.0, 0.0] end
229
+ ##% div(Numeric) -> Bignum
230
+ def div(other) 0 end
231
+ ##% divmod(Numeric) -> (Bignum, Numeric)
232
+ def divmod(other) [0, 0] end
233
+ ##% eql?(Numeric) -> Boolean
234
+ def eql?(other) BOOLEAN end
235
+ ##% quo(Numeric) -> Float
236
+ def quo(other) 0.0 end
237
+ ##% fdiv(Numeric) -> Float
238
+ def fdiv(other) 0.0 end
239
+ ##% floor() -> Bignum
240
+ def floor() 0 end
241
+ ##% integer?() -> Boolean
242
+ def integer?() BOOLEAN end
243
+ ##% modulo(Numeric) -> Bignum
244
+ def modulo(other) 0 end
245
+ ##% nonzero?() -> self
246
+ def nonzero?() self end
247
+ ##% remainder(Numeric) -> Bignum
248
+ def remainder(other) 0 end
249
+ ##% round() -> Integer
250
+ def round() 0 end
251
+ ##% step<a | a <= Numeric>(Numeric, ?a) {self or a or Fixnum -> ?} -> self
252
+ ##% step<a | a <= Numeric>(Numeric, ?a) -> Enumerable::Enumerator<self, self or a or Fixnum>
253
+ def step(limit, step = 1) self end
254
+ ##% to_int() -> Bignum
255
+ def to_int() 0 end
256
+ ##% truncate() -> Bignum
257
+ def truncate() 0 end
258
+ ##% zero?() -> Boolean
259
+ def zero?() BOOLEAN end
260
+ end
261
+
262
+ class Binding
263
+ def eval(*) end
264
+ end
265
+
266
+ class Class
267
+ # FIXME self.new
268
+
269
+ ##% _load(String) -> Class
270
+ def _load(str) Class.new end
271
+ def allocate() new() end
272
+ ##% superclass() -> Class
273
+ def superclass() Class.new end
274
+
275
+ private
276
+ def inherited(subclass) end
277
+ end
278
+
279
+ module Comparable
280
+ ##% "<"(a) -> Boolean
281
+ def <(other) BOOLEAN end
282
+ ##% "<="(a) -> Boolean
283
+ def <=(other) BOOLEAN end
284
+ ##% ==(a) -> Boolean
285
+ def ==(other) BOOLEAN end
286
+ ##% ">"(a) -> Boolean
287
+ def >(other) BOOLEAN end
288
+ ##% ">="(a) -> Boolean
289
+ def >=(other) BOOLEAN end
290
+ ##% between?(a, b) -> Boolean
291
+ def between?(min, max) BOOLEAN end
292
+ end
293
+
294
+ class Continuation
295
+ # FIXME
296
+ end
297
+
298
+ class Data
299
+ end
300
+
301
+ ##% Dir<| t <= String>
302
+ class Dir
303
+ include Enumerable
304
+
305
+ ##% self.[](*String) -> Array<String>
306
+ def self.[](*pattern) [''] end
307
+ ##% self.glob(String, ?Integer) -> Array<String>
308
+ ##% self.glob(String, ?Integer) {String -> ?} -> nil
309
+ def self.glob(pattern, flags = 0) [''] end
310
+ ##% self.chdir() -> Fixnum
311
+ ##% self.chdir(String) -> Fixnum
312
+ ##% self.chdir<v>() {String -> v} -> v
313
+ ##% self.chdir<v>(String) {String -> v} -> v
314
+ def self.chdir(path = nil) 0 end
315
+ ##% self.chroot(String) -> Fixnum
316
+ def self.chroot(path) 0 end
317
+ ##% self.delete(String) -> Fixnum
318
+ def self.delete(path) 0 end
319
+ ##% self.rmdir(String) -> Fixnum
320
+ def self.rmdir(path) 0 end
321
+ ##% self.unlink(String) -> Fixnum
322
+ def self.unlink(path) 0 end
323
+ ##% self.entries(String) -> Array<String>
324
+ def self.entires(path) [''] end
325
+ ##% self.foreach(String) {String -> ?} -> nil
326
+ ##% self.foreach(String) -> Enumerator<nil, String>
327
+ def foreach(path) yield ''; nil end
328
+ ##% self.getwd() -> String
329
+ def self.getwd() '' end
330
+ ##% self.pwd() -> String
331
+ def self.pwd() '' end
332
+ ##% self.mkdir(String, ?Integer) -> Fixnum
333
+ def self.mkdir(path, mode = 0777) 0 end
334
+ ##% self.new(String) -> Dir
335
+ def self.new(path) Dir.new('') end
336
+ ##% self.open(String) -> Dir
337
+ ##% self.open<v>(String) {Dir -> v} -> v
338
+ def self.open(path) Dir.new('') end
339
+
340
+ ##% close() -> nil
341
+ def close() end
342
+ ##% each() {String -> ?} -> self
343
+ ##% each() -> Enumerator<self, t>
344
+ def each() yield ''; self end
345
+ ##% path() -> String
346
+ def path() '' end
347
+ ##% pos() -> Integer
348
+ def pos() 0 end
349
+ alias :tell :pos
350
+ ##% pos=(Integer) -> self
351
+ def pos=(pos) self end
352
+ ##% seek(Integer) -> self
353
+ def seek(pos) self end
354
+ ##% read() -> String
355
+ def read() '' end
356
+ ##% rewind() -> self
357
+ def rewind() self end
358
+ end
359
+
360
+ ##% Enumerable<t>
361
+ module Enumerable
362
+ ##% all?() -> Boolean
363
+ ##% all?() {t -> ?} -> Boolean
364
+ def all?() yield self; BOOLEAN end
365
+ ##% any?() -> Boolean
366
+ ##% any?() {t -> ?} -> Boolean
367
+ def any?() yield self; BOOLEAN end
368
+ ##% collect<v>() {t -> v} -> Array<v>
369
+ def collect() [yield(self)] end
370
+ alias :map :collect
371
+ ##% count() -> Integer
372
+ ##% count(a) -> Integer
373
+ ##% count() {t -> ?} -> Integer
374
+ def count(item = nil) yield self; 0 end
375
+ ##% cycle() -> Enumerator<self, t>
376
+ ##% cycle() {t -> ?} -> ?
377
+ def cycle() yield self end
378
+ # FIXME ifnone
379
+ ##% find<v>(?a) -> Enumerator<t or a, t>
380
+ ##% find<v>(?a) {t -> ?} -> t or a
381
+ def find(ifnone = nil) yield self end
382
+ alias :detect :find
383
+ ##% drop(Integer) -> Array<t>
384
+ def drop(n) to_a end
385
+ ##% drop_while() -> Enumerator<Array<t>, t>
386
+ ##% drop_while() {t -> ?} -> Array<t>
387
+ def drop_while() yield _e end
388
+ # FIXME 3
389
+ ##% each_cons(Integer) -> Enumerator<nil, (t, t, t)>
390
+ ##% each_cons(Integer) {(t, t, t) -> ?} -> nil
391
+ def each_cons(n) yield _e, _e, _e end
392
+ alias :enum_cons :each_cons
393
+ ##% each_with_index() -> Enumerator<self, (t, Integer)>
394
+ ##% each_with_index() {(t, Integer) -> ?} -> self
395
+ def each_with_index() yield _e, 0 end
396
+ alias :enum_with_index :each_with_index
397
+ ##% to_a() -> Array<t>
398
+ def to_a() [_e] end
399
+ alias :entries :to_a
400
+ ##% find_all() -> Enumerator<Array<t>, t>
401
+ ##% find_all() {t -> ?} -> Array<t>
402
+ def find_all() yield _e; [_e] end
403
+ alias :select :find_all
404
+ ##% find_index() -> Enumerator<Integer, t>
405
+ ##% find_index() {t -> ?} -> Integer
406
+ def find_index() yield _e; 0 end
407
+ ##% first() -> t
408
+ ##% first(Integer) -> Array<t>
409
+ def first(n = nil) _e end
410
+ # FIXME ===
411
+ ##% grep(a) -> Array<t>
412
+ ##% grep<v>(a) {t -> v} -> Array<v>
413
+ def grep(pattern) [_e] end
414
+ ##% group_by() -> Enumerator<Hash<?, Array<t> >, t>
415
+ ##% group_by<v>() {t -> v} -> Hash<v, Array<t> >
416
+ def group_by() {(yield _e) => [_e]} end
417
+ # FIXME ==
418
+ ##% member?(a) -> Boolean
419
+ def member?(val) BOOLEAN end
420
+ alias :include? :member?
421
+ # FIXME sym
422
+ ##% inject(?a) {(r or init or t) -> r} -> r or init
423
+ ##% inject(Symbol) -> t
424
+ ##% inject(a, Symbol) -> t or a
425
+ def inject(*) _e end
426
+ alias :reduce :inject
427
+ ##% max() -> t
428
+ ##% max() {(t, t) -> ?} -> t
429
+ def max() _e end
430
+ ##% max_by() -> Enumerator<t, t>
431
+ ##% max_by() {t -> ?} -> t
432
+ def max_by() yield t; t end
433
+ ##% min() -> t
434
+ ##% min() {(t, t) -> ?} -> t
435
+ def min() _e end
436
+ ##% min_by() -> Enumerator<t, t>
437
+ ##% min_by() {t -> ?} -> t
438
+ def min_by() yield t; t end
439
+ ##% minmax() -> (t, t)
440
+ ##% minmax() {(t, t) -> ?} -> (t, t)
441
+ def minmax() [_e, _e] end
442
+ ##% minmax_by() -> Enumerator<(t, t), t>
443
+ ##% minmax_by() {t -> ?} -> (t, t)
444
+ def minmax_by() yield _e; [_e, _e] end
445
+ ##% none?() -> Boolean
446
+ ##% none?() {t -> ?} -> Boolean
447
+ def none?() BOOLEAN end
448
+ ##% one?() -> Boolean
449
+ ##% one?() {t -> ?} -> Boolean
450
+ def one?() BOOLEAN end
451
+ ##% partition() -> Enumerator<(t, t), t>
452
+ ##% partition() {t -> ?} -> (t, t)
453
+ def partition() yield _e; [_e, _e] end
454
+ ##% reject() -> Enumerator<Array<t>, t>
455
+ ##% reject() {t -> ?} -> Array<t>
456
+ def reject() yield _e; [_e] end
457
+ ##% sort() -> Array<t>
458
+ ##% sort() {(t, t) -> ?} -> Array<t>
459
+ def sort() [_e] end
460
+ ##% sort_by() -> Enumerator<Array<t>, t>
461
+ ##% sort_by() {t -> ?} -> Array<t>
462
+ def sort_by() yield _e; [_e] end
463
+ ##% take(Integer) -> Array<t>
464
+ def take(n) [_e] end
465
+ ##% take_while() -> Enumerator<Array<t>, t>
466
+ ##% take_while() {t -> ?} -> Array<t>
467
+ def take_while() yield _e; [_e]; end
468
+ # FIXME
469
+ def zip(*) [[_e]] end
470
+
471
+ private
472
+ # Special methods for internal use
473
+ ##% _e() -> t
474
+ def _e() end
475
+ end
476
+
477
+ ##% Enumerator<s, t>
478
+ class Enumerator
479
+ include Enumerable
480
+
481
+ # FIXME self.new
482
+
483
+ ##% each() {t -> ?} -> s
484
+ def each() end
485
+ ##% next() -> t
486
+ def next() end
487
+ ##% rewind() -> self
488
+ def rewind() self end
489
+ ##% to_splat() -> Array<t>
490
+ def to_splat() [] end
491
+ ##% with_index() -> Enumerator<s, (t, Integer)>
492
+ ##% with_index() {(t, Integer) -> ?} -> s
493
+ def with_index() end
494
+ end
495
+
496
+ # 1.8.7 <=> 1.8.8
497
+ Enumerable::Enumerator = Enumerator
498
+
499
+ module Errno
500
+ end
501
+
502
+ class FalseClass
503
+ ##% &(a) -> FalseClass
504
+ def %(other) false end
505
+ ##% ^(a) -> Boolean
506
+ def ^(other) BOOLEAN end
507
+ ##% to_s() -> String
508
+ def to_s() '' end
509
+ ##% "|"(a) -> Boolean
510
+ def |(other) BOOLEAN end
511
+ end
512
+
513
+ class File
514
+ ALT_SEPARATOR = ''
515
+ PATH_SEPARATOR = ''
516
+ SEPARATOR = ''
517
+ Separator = ''
518
+
519
+ include File::Constants
520
+
521
+ ##% self.atime(String or IO) -> Time
522
+ def self.atime(filename) Time.new end
523
+ ##% self.basename(String, ?String) -> String
524
+ def self.basename(filename, suffix = '') '' end
525
+ ##% self.blockdev?(String or IO) -> Boolean
526
+ def self.blockdev?(path) BOOLEAN end
527
+ ##% self.chardev?(String or IO) -> Boolean
528
+ def self.chardev?(path) BOOLEAN end
529
+ ##% self.chmod(Integer, *String) -> Integer
530
+ def self.chmod(mode, *filename) 0 end
531
+ ##% self.chown(Integer, Integer, *String) -> Integer
532
+ def self.chown(owner, group, *filename) 0 end
533
+ ##% self.ctime(String or IO) -> Time
534
+ def self.ctime(filename) Time.new end
535
+ ##% self.delete(*String) -> Integer
536
+ def self.delete(*filename) 0 end
537
+ ##% self.unlink(*String) -> Integer
538
+ def self.unlink(*filename) 0 end
539
+ ##% self.directory?(String or IO) -> Boolean
540
+ def self.directory?(path) BOOLEAN end
541
+ ##% self.dirname(String) -> String
542
+ def self.dirname(filename) '' end
543
+ ##% self.executable?(String or IO) ->Boolean
544
+ def self.executable?(path) BOOLEAN end
545
+ ##% self.executable_real?(String or IO) ->Boolean
546
+ def self.executable_real?(path) BOOLEAN end
547
+ ##% self.exist?(String or IO) -> Boolean
548
+ def self.exist?(path) BOOLEAN end
549
+ ##% self.exists?(String or IO) -> Boolean
550
+ def self.exists?(path) BOOLEAN end
551
+ ##% self.expand_path(String, ?String) -> String
552
+ def self.expand_path(path, default_dir = '.') '' end
553
+ ##% self.extname(String) -> String
554
+ def self.extname(filename) '' end
555
+ ##% self.file?(String or IO) -> Boolean
556
+ def self.file?(path) BOOLEAN end
557
+ ##% self.fnmatch(String, String, ?Integer) -> Boolean
558
+ def self.fnmatch(pattern, path, flags = 0) BOOLEAN end
559
+ ##% self.fnmatch?(String, String, ?Integer) -> Boolean
560
+ def self.fnmatch?(pattern, path, flags = 0) BOOLEAN end
561
+ ##% self.ftype(String) -> String
562
+ def self.ftype(filename) '' end
563
+ ##% self.grpowned?(String or IO) -> Boolean
564
+ def self.grpowned?(filename) BOOLEAN end
565
+ ##% self.identical?(String or IO, String or IO) -> Boolean
566
+ def self.identical?(filename1, filename2) BOOLEAN end
567
+ ##% self.join(*String) -> String
568
+ def self.join(*item) '' end
569
+ ##% self.lchmod(Integer, *String) -> Integer
570
+ def self.lchmod(mode, *filename) 0 end
571
+ ##% self.lchown(Integer, Integer, *String) -> Integer
572
+ def self.lchown(owner, group, *filename) 0 end
573
+ ##% self.link(String, String) -> Integer
574
+ def self.link(old, new) 0 end
575
+ ##% self.lstat(String) -> File::Stat
576
+ def self.lstat(filename) File::Stat.new('') end
577
+ ##% self.mtime(String or IO) -> Time
578
+ def self.mtime(filename) Time.new end
579
+ ##% self.new(String or Integer, ?a, ?Integer) -> File
580
+ def self.new(path, mode = 'r', perm = 0666) File.new('') end
581
+ ##% self.open(String or Integer, ?a, ?Integer) -> File
582
+ ##% self.open(String or Integer, ?a, ?Integer) {File -> a} -> a
583
+ def self.open(path, mode = 'r', perm = 0666) File.new('') end
584
+ ##% self.owned?(String or IO) -> Boolean
585
+ def self.owned?(path) BOOLEAN end
586
+ ##% self.pipe?(String or IO) -> Boolean
587
+ def self.pipe?(path) BOOLEAN end
588
+ ##% self.readable?(String or IO) -> Boolean
589
+ def self.readable?(path) BOOLEAN end
590
+ ##% self.readable_real?(String or IO) -> Boolean
591
+ def self.readable_real?(path) BOOLEAN end
592
+ ##% self.readlink(String) -> String
593
+ def self.readlink(path) '' end
594
+ ##% self.rename(String, String) -> Integer
595
+ def self.rename(from, to) 0 end
596
+ ##% self.setgid?(String or IO) -> Boolean
597
+ def self.setgid?(path) BOOLEAN end
598
+ ##% self.setuid?(String or IO) -> Boolean
599
+ def self.setuid?(path) BOOLEAN end
600
+ ##% self.size(String or IO) -> Integer
601
+ def self.size(path) 0 end
602
+ ##% self.size?(String or IO) -> Boolean
603
+ def self.size?(path) BOOLEAN end
604
+ ##% self.socket?(String or IO) -> Boolean
605
+ def self.socket?(path) BOOLEAN end
606
+ ##% self.split(String) -> (String, String)
607
+ def self.split(pathname) ['', ''] end
608
+ ##% self.stat(String) -> File::Stat
609
+ def self.stat(filename) File::Stat.new('') end
610
+ ##% self.sticky?(String or IO) -> Boolean
611
+ def self.sticky?(path) BOOLEAN end
612
+ ##% self.symlink(String, String) -> Integer
613
+ def self.symlink(old, new) 0 end
614
+ ##% self.symlink?(String or IO) -> Boolean
615
+ def self.symlinky?(path) BOOLEAN end
616
+ ##% self.truncate(String, Integer) -> Integer
617
+ def self.truncate(path, length) 0 end
618
+ ##% self.umask(?Integer) -> Integer
619
+ def self.umask(umask = 0) 0 end
620
+ ##% self.utime(Time or Integer, Time or Integer, *String) -> Integer
621
+ def self.utime(atime, mtime, *filename) 0 end
622
+ ##% self.writable?(String or IO) -> Boolean
623
+ def self.writable?(path) BOOLEAN end
624
+ ##% self.writable_real?(String or IO) -> Boolean
625
+ def self.writable_real?(path) BOOLEAN end
626
+ ##% self.zero?(String or IO) -> Boolean
627
+ def self.zero?(path) BOOLEAN end
628
+
629
+ ##% atime() -> Time
630
+ def atime() Time.new end
631
+ ##% chmod(Integer) -> Integer
632
+ def chmod(mode) 0 end
633
+ ##% chown(Integer, Integer) -> Integer
634
+ def chown(owner, group) 0 end
635
+ ##% ctime() -> Time
636
+ def ctime() Time.new end
637
+ ##% flock(Integer) -> Integer or FalseClass
638
+ def flock(operation) 0 || false end
639
+ ##% lstat() -> File::Stat
640
+ def lstat() File::Stat.new('') end
641
+ ##% mtime() -> Time
642
+ def mtime() Time.new end
643
+ ##% path() -> String
644
+ def path() '' end
645
+ ##% truncate(Integer) -> Integer
646
+ def truncate(length) 0 end
647
+ end
648
+
649
+ module File::Constants
650
+ APPEND = 0
651
+ BINARY = 0
652
+ CREAT = 0
653
+ EXCL = 0
654
+ FNM_CASEFOLD = 0
655
+ FNM_DOTMATCH = 0
656
+ FNM_NOESCAPE = 0
657
+ FNM_PATHNAME = 0
658
+ FNM_SYSCASE = 0
659
+ LOCK_EX = 0
660
+ LOCK_NB = 0
661
+ LOCK_SH = 0
662
+ LOCK_UN = 0
663
+ NOCTTY = 0
664
+ NONBLOCK = 0
665
+ RDONLY = 0
666
+ RDWR = 0
667
+ SYNC = 0
668
+ TRUNC = 0
669
+ WRONLY = 0
670
+ end
671
+
672
+ class File::Stat
673
+ include Comparable
674
+
675
+ ##% self.new(String) -> File::Stat
676
+ def self.new(path) super() end
677
+
678
+ ##% "<=>"(File::Stat) -> Fixnum
679
+ def <=>(o) 0 end
680
+ ##% atime() -> Time
681
+ def atime() Time.new end
682
+ ##% blksize() -> Integer
683
+ def blksize() 0 end
684
+ ##% blockdev?() -> Boolean
685
+ def blockdev?() BOOLEAN end
686
+ ##% blocks() -> Integer
687
+ def blocks() 0 end
688
+ ##% chardev?() -> Boolean
689
+ def chardev?() BOOLEAN end
690
+ ##% ctime() -> Time
691
+ def ctime() Time.new end
692
+ ##% dev() -> Integer
693
+ def dev() 0 end
694
+ ##% dev_major() -> Integer
695
+ def dev_major() 0 end
696
+ ##% dev_minor() -> Integer
697
+ def dev_minor() 0 end
698
+ ##% directory?() -> Boolean
699
+ def directory?() BOOLEAN end
700
+ ##% executable?() -> Boolean
701
+ def executable?() BOOLEAN end
702
+ ##% executable_real?() -> Boolean
703
+ def executable_real?() BOOLEAN end
704
+ ##% file?() -> Boolean
705
+ def file?() BOOLEAN end
706
+ ##% ftype() -> String
707
+ def ftype() '' end
708
+ ##% gid() -> Integer
709
+ def gid() 0 end
710
+ ##% grpowned?() -> Boolean
711
+ def grpowned?() BOOLEAN end
712
+ ##% ino() -> Integer
713
+ def ino() 0 end
714
+ ##% mode() -> Integer
715
+ def mode() 0 end
716
+ ##% mtime() -> Time
717
+ def mtime() Time.new end
718
+ ##% nlink() -> Integer
719
+ def nlink() 0 end
720
+ ##% owned?() -> Boolean
721
+ def owned?() BOOLEAN end
722
+ ##% pipe?() -> Boolean
723
+ def pipe?() BOOLEAN end
724
+ ##% rdev() -> Integer
725
+ def rdev() 0 end
726
+ ##% rdev_major() -> Integer
727
+ def rdev_major() 0 end
728
+ ##% rdev_minor() -> Integer
729
+ def rdev_minor() 0 end
730
+ ##% readable?() -> Boolean
731
+ def readable?() BOOLEAN end
732
+ ##% readable_real?() -> Boolean
733
+ def readable_real?() BOOLEAN end
734
+ ##% setgid?() -> Boolean
735
+ def setgid?() BOOLEAN end
736
+ ##% setuid?() -> Boolean
737
+ def setuid?() BOOLEAN end
738
+ ##% size() -> Integer
739
+ def size() 0 end
740
+ ##% size?() -> Integer or nil
741
+ def size?() 0 || nil end
742
+ ##% socket?() -> Boolean
743
+ def socket?() BOOLEAN end
744
+ ##% sticky?() -> Boolean
745
+ def sticky?() BOOLEAN end
746
+ ##% symlink?() -> FalseClass
747
+ def symlink?() false end
748
+ ##% uid() -> Integer
749
+ def uid() 0 end
750
+ ##% writable?() -> Boolean
751
+ def writable?() BOOLEAN end
752
+ ##% writable_real?() -> Boolean
753
+ def writable_real?() BOOLEAN end
754
+ ##% zero?() -> Boolean
755
+ def zero?() BOOLEAN end
756
+ end
757
+
758
+ module FileTest
759
+ ##% self.blockdev?(String or IO) -> Boolean
760
+ def self.blockdev?(path) BOOLEAN end
761
+ ##% self.chardev?(String or IO) -> Boolean
762
+ def self.chardev?(path) BOOLEAN end
763
+ ##% self.directory?(String or IO) -> Boolean
764
+ def self.directory?(path) BOOLEAN end
765
+ ##% self.executable?(String or IO) ->Boolean
766
+ def self.executable?(path) BOOLEAN end
767
+ ##% self.executable_real?(String or IO) ->Boolean
768
+ def self.executable_real?(path) BOOLEAN end
769
+ ##% self.exist?(String or IO) -> Boolean
770
+ def self.exist?(path) BOOLEAN end
771
+ ##% self.exists?(String or IO) -> Boolean
772
+ def self.exists?(path) BOOLEAN end
773
+ ##% self.file?(String or IO) -> Boolean
774
+ def self.file?(path) BOOLEAN end
775
+ ##% self.grpowned?(String or IO) -> Boolean
776
+ def self.grpowned?(filename) BOOLEAN end
777
+ ##% self.identical?(String or IO, String or IO) -> Boolean
778
+ def self.identical?(filename1, filename2) BOOLEAN end
779
+ ##% self.owned?(String or IO) -> Boolean
780
+ def self.owned?(path) BOOLEAN end ##% self.setgid?(String or IO) -> Boolean
781
+ ##% self.setgid?(String or IO) -> Boolean
782
+ def self.setgid?(path) BOOLEAN end
783
+ ##% self.setuid?(String or IO) -> Boolean
784
+ def self.setuid?(path) BOOLEAN end
785
+ ##% self.size(String or IO) -> Integer
786
+ def self.size(path) 0 end
787
+ ##% self.size?(String or IO) -> Boolean
788
+ def self.size?(path) BOOLEAN end
789
+ ##% self.socket?(String or IO) -> Boolean
790
+ def self.socket?(path) BOOLEAN end
791
+ ##% self.sticky?(String or IO) -> Boolean
792
+ def self.sticky?(path) BOOLEAN end
793
+ ##% self.writable?(String or IO) -> Boolean
794
+ def self.writable?(path) BOOLEAN end
795
+ ##% self.writable_real?(String or IO) -> Boolean
796
+ def self.writable_real?(path) BOOLEAN end
797
+ ##% self.zero?(String or IO) -> Boolean
798
+ def self.zero?(path) BOOLEAN end
799
+ end
800
+
801
+ class Fixnum
802
+ ### Numeric
803
+ ##% +@() -> self
804
+ def +@() self end
805
+ ##% -@() -> Fixnum
806
+ def -@() 0 end
807
+ ##% "<=>"(other) -> Fixnum
808
+ def <=>(other) 0 end
809
+ ##% abs() -> Fixnum
810
+ def abs() self end
811
+ ##% ceil() -> Fixnum
812
+ def ceil() 0 end
813
+ ##% clone() -> self
814
+ def clone() self end
815
+ alias :dup :clone
816
+ ##% coerce(Float) -> (Float, Float)
817
+ ##% coerce(Numeric) -> (Fixnum, Fixnum)
818
+ def coerce(other) [0.0, 0.0] end
819
+ ##% div(Numeric) -> Fixnum
820
+ def div(other) 0 end
821
+ ##% divmod(Numeric) -> (Fixnum, Numeric)
822
+ def divmod(other) [0, 0] end
823
+ ##% eql?(Numeric) -> Boolean
824
+ def eql?(other) BOOLEAN end
825
+ ##% quo(Numeric) -> Float
826
+ def quo(other) 0.0 end
827
+ ##% fdiv(Numeric) -> Float
828
+ def fdiv(other) 0.0 end
829
+ ##% floor() -> Fixnum
830
+ def floor() 0 end
831
+ ##% integer?() -> Boolean
832
+ def integer?() BOOLEAN end
833
+ ##% modulo(Numeric) -> Fixnum
834
+ def modulo(other) 0 end
835
+ ##% nonzero?() -> self
836
+ def nonzero?() self end
837
+ ##% remainder(Numeric) -> Fixnum
838
+ def remainder(other) 0 end
839
+ ##% round() -> Fixnum
840
+ def round() 0 end
841
+ ##% step<a | a <= Numeric>(Numeric, ?a) {self or a or Fixnum -> ?} -> self
842
+ ##% step<a | a <= Numeric>(Numeric, ?a) -> Enumerator<self, self or a or Fixnum>
843
+ def step(limit, step = 1) self end
844
+ ##% to_int() -> Fixnum
845
+ def to_int() 0 end
846
+ ##% truncate() -> Fixnum
847
+ def truncate() 0 end
848
+ ##% zero?() -> Boolean
849
+ def zero?() BOOLEAN end
850
+
851
+ ### Fixnum
852
+ ##% id2name() -> String
853
+ def id2name() '' end
854
+ ##% to_sym() -> Symbol
855
+ def to_sym() :a end
856
+ end
857
+
858
+ class Float
859
+ DIG = 0
860
+ EPSILONG = 0.0
861
+ MANT_DIG = 0
862
+ MAX = 0.0
863
+ MAX_10_EXP = 0
864
+ MAX_EXP = 0
865
+ MIN = 0.0
866
+ MIN_10_EXP = 0
867
+ MIN_EXP = 0
868
+ RADIX = 0
869
+ ROUNDS = 0
870
+
871
+ include Precision
872
+
873
+ ### Precision
874
+ ##% self.induced_from(a) -> Float
875
+ def self.induced_from(number) 0.0 end
876
+ ##% prec(Class) -> Float
877
+ def prec(klass) 0.0 end
878
+
879
+ ### Numeric
880
+ ##% +@() -> self
881
+ def +@() self end
882
+ ##% -@() -> Float
883
+ def -@() 0 end
884
+ ##% "<=>"(other) -> Fixnum
885
+ def <=>(other) 0 end
886
+ ##% abs() -> Float
887
+ def abs() self end
888
+ ##% ceil() -> Integer
889
+ def ceil() 0 end
890
+ ##% clone() -> self
891
+ def clone() self end
892
+ alias :dup :clone
893
+ ##% coerce(Numeric) -> (Float, Float)
894
+ def coerce(other) [0.0, 0.0] end
895
+ ##% div(Numeric) -> Float
896
+ def div(other) 0.0 end
897
+ ##% divmod(Numeric) -> (Float, Numeric)
898
+ def divmod(other) [0, 0] end
899
+ ##% eql?(Numeric) -> Boolean
900
+ def eql?(other) BOOLEAN end
901
+ ##% quo(Numeric) -> Float
902
+ def quo(other) 0.0 end
903
+ ##% fdiv(Numeric) -> Float
904
+ def fdiv(other) 0.0 end
905
+ ##% floor() -> Integer
906
+ def floor() 0 end
907
+ ##% integer?() -> Boolean
908
+ def integer?() BOOLEAN end
909
+ ##% modulo(Numeric) -> Float
910
+ def modulo(other) 0.0 end
911
+ ##% nonzero?() -> self
912
+ def nonzero?() self end
913
+ ##% remainder(Numeric) -> Float
914
+ def remainder(other) 0.0 end
915
+ ##% round() -> Fixnum
916
+ def round() 0 end
917
+ ##% step<a | a <= Numeric>(Numeric, ?a) {self or a or Fixnum -> ?} -> self
918
+ ##% step<a | a <= Numeric>(Numeric, ?a) -> Enumerator<self, self or a or Fixnum>
919
+ def step(limit, step = 1) self end
920
+ ##% to_int() -> Integer
921
+ def to_int() 0 end
922
+ ##% truncate() -> Integer
923
+ def truncate() 0 end
924
+ ##% zero?() -> Boolean
925
+ def zero?() BOOLEAN end
926
+
927
+ ### Integer
928
+ ##% %(Numeric) -> Float
929
+ def %(other) 0.0 end
930
+ ##% "*"(Numeric) -> Float
931
+ def *(other) 0.0 end
932
+ ##% "**"(Numeric) -> Float
933
+ def **(other) 0.0 end
934
+ ##% +(Numeric) -> Float
935
+ def +(other) 0.0 end
936
+ ##% -(Numeric) -> Float
937
+ def -(other) 0.0 end
938
+ ##% /(Numeric) -> Float
939
+ def /(other) 0.0 end
940
+ ##% finite?() -> Boolean
941
+ def finite?() BOOLEAN end
942
+ ##% hash() -> Fixnum
943
+ def hash() 0 end
944
+ ##% infinite?() -> Fixnum
945
+ def infinite?() 0 end
946
+ ##% nan?() -> Boolean
947
+ def nan?() BOOLEAN end
948
+ ##% to_f() -> self
949
+ def to_f() self end
950
+ end
951
+
952
+ module GC
953
+ ##% self.disable() -> Boolean
954
+ def disable() BOOLEAN end
955
+ ##% self.enable() -> Boolean
956
+ def enable() BOOLEAN end
957
+ ##% start() -> nil
958
+ def start() end
959
+ ##% stress() -> Boolean
960
+ def stress() BOOLEAN end
961
+ ##% stress=(Boolean) -> nil
962
+ def stress=(value) end
963
+
964
+ ##% garbase_collect() -> nil
965
+ def garbase_collect() end
966
+ end
967
+
968
+ ##% Hash<k, v, z | (k, v) <= t>
969
+ class Hash
970
+ include Enumerable
971
+
972
+ # FIXME
973
+ ##% self.[](Hash<k', v', z'>) -> Hash<k', v', z'>
974
+ ##% self.[](?k1, ?v1, ?k2, ?v2, ?k3, ?v3, ?k4, ?v4, ?k5, ?v5) -> Hash<k1 or k2 or k3 or k4 or k5, v1 or v2 or v3 or v4 or v5>
975
+ def self.[](*) {} end
976
+ # FIXME
977
+ ##% self.new(?z') -> Hash<?, ?, z'>
978
+ ##% self.new() {(k', v') -> ?} -> Hash<?, ?, ?>
979
+ def self.new(*) {} end
980
+
981
+ ##% ==(a) -> Boolean
982
+ def ==(other) BOOLEAN end
983
+ ##% ===(a) -> Boolean
984
+ def ===(other) BOOLEAN end
985
+ ##% eql?(a) -> Boolean
986
+ def eql?(other) BOOLEAN end
987
+ ##% [](a) -> v
988
+ def [](key) _v end
989
+ ##% []=<v' | v' <= v>(k, v') -> v'
990
+ def []=(key, value) value end
991
+ ##% store(k, v) -> v
992
+ def store(key, value) value end
993
+ # FIXME
994
+ def clear() self end
995
+ # FIXME
996
+ ##% clone() -> Hash<k, v, z>
997
+ def clone() self end
998
+ alias :dup :clone
999
+ ##% default(?a) -> d or a
1000
+ def default(key = nil) end
1001
+ ##% default=<d | d <= z>(d) -> d
1002
+ def default=(value) value end
1003
+ # FIXME
1004
+ def default_proc() end
1005
+ ##% delete(a) -> v
1006
+ ##% delete(a) {a -> b} -> b
1007
+ def delete(key) _v end
1008
+ ##% delete_if() -> Enumerator<self, (k, v)>
1009
+ ##% delete_if() {(k, v) -> ?} -> self
1010
+ def delete_if() self end
1011
+ alias :reject! :delete_if
1012
+ ##% each() {(k, v) -> ?} -> self
1013
+ ##% each() -> Enumerator<self, (k, v)>
1014
+ def each() yield _k, _v; self end
1015
+ alias :each_pair :each
1016
+ ##% each_key() {k -> ?} -> self
1017
+ ##% each_key() -> Enumerator<self, k>
1018
+ def each_key() yield _k; self end
1019
+ ##% each_value() {v -> ?} -> self
1020
+ ##% each_value() -> Enumerator<self, v>
1021
+ def each_value() yield _v; self end
1022
+ ##% empty?() -> Boolean
1023
+ def empty?() BOOLEAN end
1024
+ ##% equal?(a) -> Boolean
1025
+ def equal?(other) BOOLEAN end
1026
+ ##% fetch(a, ?b) -> v or b
1027
+ ##% fetch(a) {a -> b} -> v or b
1028
+ def fetch(key) _v end
1029
+ ##% has_key?(a) -> Boolean
1030
+ def has_key(key) BOOLEAN end
1031
+ alias :include? :has_key?
1032
+ alias :key? :has_key?
1033
+ alias :member? :has_key?
1034
+ ##% has_value?(a) -> Boolean
1035
+ def has_value?(value) BOOLEAN end
1036
+ alias :value? :has_value?
1037
+ ##% hash() -> Integer
1038
+ def hash() 0 end
1039
+ ##% index(a) -> k
1040
+ def index(val) _k end
1041
+ ##% indexes(*a) -> Array<v>
1042
+ def indexes(*index) [_v] end
1043
+ alias :indices :indexes
1044
+ ##% to_s() -> String
1045
+ def to_s() '' end
1046
+ ##% inspect() -> String
1047
+ def inspect() '' end
1048
+ ##% invert() -> Hash<v, k>
1049
+ def invert() {_v => _k} end
1050
+ ##% keys() -> Array<k>
1051
+ def keys() [_k] end
1052
+ ##% length() -> Integer
1053
+ def length() 0 end
1054
+ alias :size :length
1055
+ ##% merge<a | a <= Hash<k', v', z'> >(a) -> Hash<k or k', v or v', z or z'>
1056
+ ##% merge<a | a <= Hash<k', v', z'> >(a) {(k, v, v') -> v''} -> Hash<k or k', v'', z or z'>
1057
+ def merge(other) self end
1058
+ ##% merge!<a | a <= Hash<k, v, z> >(a) -> self
1059
+ ##% merge!<a | a <= Hash<k, v', z>, v'' <= v>(a) {(k, v, v') -> v''} -> self
1060
+ def merge!(other) self end
1061
+ ##% rehash() -> self
1062
+ def rehash() self end
1063
+ ##% reject() {(k, v) -> ?} -> Hash<k, v>
1064
+ ##% reject() -> Enumerator<Hash<k, v>, (k, v)> >
1065
+ def reject() self end
1066
+ ##% replace<a | a <= Hash<k, v, z> >(a) -> self
1067
+ def replace(other) self end
1068
+ ##% select() -> Enumerator<Array<(k, v)>, (k, v)>
1069
+ ##% select() {(k, v) -> ?} -> Array<(k, v)>
1070
+ def select() yield _k, _v; [_k, _v] end
1071
+ ##% shift() -> (k, v) or z
1072
+ def shift() [_k, _v] end
1073
+ ##% sort() -> Array<(k, v)>
1074
+ ##% sort() {(k, v) -> ?} -> Array<k, v>
1075
+ def sort() [[_k, _v]] end
1076
+ ##% to_a() -> Array<(k, v)>
1077
+ def to_a() [[_k, _v]] end
1078
+ ##% to_hash() -> self
1079
+ def to_hash() self end
1080
+ ##% update<a | a <= Hash<k, v, z> >(a) -> self
1081
+ ##% update<a | a <= Hash<k, v', z>, v'' <= v>(a) {(k, v, v') -> v''} -> self
1082
+ def update(other) self end
1083
+ ##% values() -> Array<v>
1084
+ def values() [_v] end
1085
+ ##% values_at(*a) -> Array<v or z>
1086
+ def values_at(*key) [_v] end
1087
+
1088
+ private
1089
+ # Special methods for internal use
1090
+ ##% _k() -> k
1091
+ def _k() end
1092
+ ##% _v() -> v
1093
+ def _v() end
1094
+ end
1095
+
1096
+ ##% IO<| t <= String>
1097
+ class IO
1098
+ SEEK_CUR = 0
1099
+ SEEK_END = 0
1100
+ SEEK_SET = 0
1101
+
1102
+ include Enumerable
1103
+
1104
+ ##% self.new(Integer, ?a) -> IO
1105
+ def self.new(fd, mode = 'r') IO.new(0) end
1106
+ ##% self.for_fd(Integer, ?a) -> IO
1107
+ def self.for_fd(fd, mode = 'r') IO.new(0) end
1108
+ ##% self.open(Integer, ?a) -> IO
1109
+ ##% self.open(Integer, ?a) {IO -> b} -> b
1110
+ def self.open(fd, mode = 'r') IO.new(0) end
1111
+ ##% self.foreach(String, ?String) {String -> ?} -> nil
1112
+ ##% self.foreach(String, ?String) -> Enumerator<nil, String>
1113
+ def self.foreach(path, rs = $/) yield ''; nil end
1114
+ ##% self.pipe() -> (IO, IO)
1115
+ def self.pipe() [IO.new(0), IO.new(0)] end
1116
+ ##% self.popen(String, ?a) -> IO
1117
+ ##% self.popen(String, ?a) {IO -> b} -> b
1118
+ def self.popen(command, mode = 'r') IO.new(0) end
1119
+ ##% self.read(String, ?Integer, ?Integer) -> String
1120
+ def self.read(path, length = nil, offset = 0) '' end
1121
+ ##% self.readlines(String, ?String) -> Array<String>
1122
+ def self.readlines(path, rs = $/) [''] end
1123
+ ##% self.select(Array<IO>, ?Array<IO>, ?Array<IO>, ?Integer) -> (Array<IO>, Array<IO>, Array<IO>)
1124
+ def self.select(reads, writes = [], excepts = [], timeout = nil) [[IO.new(0)], [IO.new(0)], [IO.new(0)]] end
1125
+ ##% self.sysopen(String, ?a, ?Integer) -> Integer
1126
+ def self.sysopen(path, mode = 'r', perm = 0666) 0 end
1127
+
1128
+ # FIXME to_s
1129
+ ##% "<<"(a) -> self
1130
+ def <<(object) self end
1131
+ ##% binmode() -> self
1132
+ def binmode() self end
1133
+ ##% bytes() -> Enumerator<self, Fixnum>
1134
+ def bytes() Enumerator.new end
1135
+ ##% each_char() {Fixnum -> ?} -> self
1136
+ ##% each_char() -> Enumerator<self, Fixnum>
1137
+ def each_char() yield 0; self end
1138
+ alias :chars :each_char
1139
+ ##% clone() -> IO
1140
+ def clone() self end
1141
+ alias :dup :clone
1142
+ ##% close() -> nil
1143
+ def close() end
1144
+ ##% close_read() -> nil
1145
+ def close_read() end
1146
+ ##% close_write() -> nil
1147
+ def close_write() end
1148
+ ##% closed?() -> Boolean
1149
+ def closed?() BOOLEAN end
1150
+ ##% each(?String) {String -> ?} -> self
1151
+ ##% each(?String) -> Enumerator<self, String>
1152
+ def each(rs = $/) yield ''; self end
1153
+ alias :each_line :each
1154
+ ##% each_byte() {Fixnum -> ?} -> self
1155
+ ##% each_byte() -> Enumerator<self, Fixnum>
1156
+ def each_byte() yield 0; self end
1157
+ ##% eof() -> Boolean
1158
+ def eof() BOOLEAN end
1159
+ alias :eof? :eof
1160
+ ##% fcntl(Integer, ?(Integer or String or Boolean)) -> Integer
1161
+ def fcntl(cmd, arg = 0) 0 end
1162
+ ##% fileno() -> Integer
1163
+ def fileno() 0 end
1164
+ alias :to_i :fileno
1165
+ ##% flush() -> self
1166
+ def flush() self end
1167
+ ##% fsync() -> Integer
1168
+ def fsync() 0 end
1169
+ ##% getbyte() -> Fixnum
1170
+ def getbyte() 0 end
1171
+ ##% getc() -> Fixnum
1172
+ def getc() 0 end
1173
+ ##% gets(?String) -> String
1174
+ def gets(rs = $/) '' end
1175
+ ##% ioctl(Integer, ?(Integer or String or Boolean)) -> Integer
1176
+ def ioctl(cmd, arg = 0) 0 end
1177
+ ##% isatty() -> Boolean
1178
+ def isatty() BOOLEAN end
1179
+ alias :tty? :isatty
1180
+ ##% lineno() -> Integer
1181
+ def lineno() 0 end
1182
+ ##% lineno=(Integer) -> nil
1183
+ def lineno=(number) end
1184
+ ##% lines(?String) -> Enumerator<self, String>
1185
+ def lines(rs = $/) Enumerator.new end
1186
+ ##% pid() -> Integer
1187
+ def pid() 0 end
1188
+ ##% pos() -> Integer
1189
+ alias :tell :pos
1190
+ ##% pos=(Integer) -> Integer
1191
+ def pos=(n) end
1192
+ ##% print(*a) -> nil
1193
+ def print(*arg) end
1194
+ ##% printf(String, *a) -> nil
1195
+ def printf(format, *arg) end
1196
+ ##% putc<c | c <= Integer>(c) -> c
1197
+ def putc(ch) ch end
1198
+ ##% puts(*a) -> nil
1199
+ def puts(*obj) end
1200
+ ##% read(?Integer, ?String) -> String
1201
+ def read(length = nil, outbuf = '') '' end
1202
+ ##% read_nonblock(Integer, ?String) -> String
1203
+ def read_nonblock(maxlen, outbuf = '') '' end
1204
+ ##% readbyte() -> Fixnum
1205
+ def readbyte() 0 end
1206
+ ##% readchar() -> Fixnum
1207
+ def readchar() 0 end
1208
+ ##% readline(?String) -> String
1209
+ def readline(rs = $/) '' end
1210
+ ##% readlines(?String) -> Array<String>
1211
+ def readlines(rs = $/) [''] end
1212
+ ##% readpartial(?Integer, ?String) -> String
1213
+ def readpartial(maxlen, outbuf = '') '' end
1214
+ ##% reopen(IO) -> self
1215
+ ##% reopen(String, ?a) -> self
1216
+ def reopen(*) self end
1217
+ ##% rewind() -> Integer
1218
+ def rewind() 0 end
1219
+ ##% seek(Integer, ?Fixnum) -> Fixnum
1220
+ def seek(offset, whence = IO::SEEK_SET) 0 end
1221
+ ##% stat() -> File::Stat
1222
+ def stat() File::Stat.new('') end
1223
+ ##% sync() -> Boolean
1224
+ def sync() BOOLEAN end
1225
+ ##% sync=(Boolean) -> Boolean
1226
+ def sync=(newstate) newstate end
1227
+ ##% sysread(Integer, ?String) -> String
1228
+ def sysread(maxlen, outbuf = '') '' end
1229
+ ##% sysseek(Integer, ?Fixnum) -> Fixnum
1230
+ def sysseek(offset, whence = IO::SEEK_SET) 0 end
1231
+ # FIXME to_s
1232
+ ##% syswrite(a) -> Integer
1233
+ def syswrite(string) 0 end
1234
+ ##% to_io() -> self
1235
+ def to_io() self end
1236
+ ##% ungetc(a) -> nil
1237
+ def ungetc(char) end
1238
+ # FIXME to_s
1239
+ ##% write(a) -> Integer
1240
+ def write(str) 0 end
1241
+ # FIXME to_s
1242
+ ##% write_nonblock(a) -> Integer
1243
+ def write_nonblock(str) 0 end
1244
+ end
1245
+
1246
+ class Integer
1247
+ include Precision
1248
+
1249
+ ### Precision
1250
+ ##% self.induced_from(a) -> Fixnum
1251
+ def self.induced_from(number) 0 end
1252
+ ##% prec(Class) -> Fixnum
1253
+ def prec(klass) 0 end
1254
+
1255
+ ### Numeric
1256
+ ##% +@() -> self
1257
+ def +@() self end
1258
+ ##% -@() -> Integer
1259
+ def -@() 0 end
1260
+ ##% "<=>"(other) -> Fixnum
1261
+ def <=>(other) 0 end
1262
+ ##% abs() -> Integer
1263
+ def abs() self end
1264
+ ##% ceil() -> Integer
1265
+ def ceil() 0 end
1266
+ ##% clone() -> self
1267
+ def clone() self end
1268
+ alias :dup :clone
1269
+ ##% coerce(Float) -> (Float, Float)
1270
+ ##% coerce(Numeric) -> (Integer, Integer)
1271
+ def coerce(other) [0.0, 0.0] end
1272
+ ##% div(Numeric) -> Integer
1273
+ def div(other) 0 end
1274
+ ##% divmod(Numeric) -> (Integer, Integer)
1275
+ def divmod(other) [0, 0] end
1276
+ ##% eql?(Numeric) -> Boolean
1277
+ def eql?(other) BOOLEAN end
1278
+ ##% quo(Numeric) -> Float
1279
+ def quo(other) 0.0 end
1280
+ ##% fdiv(Numeric) -> Float
1281
+ def fdiv(other) 0.0 end
1282
+ ##% floor() -> Integer
1283
+ def floor() 0 end
1284
+ ##% integer?() -> Boolean
1285
+ def integer?() BOOLEAN end
1286
+ ##% modulo(Numeric) -> Integer
1287
+ def modulo(other) 0 end
1288
+ ##% nonzero?() -> self
1289
+ def nonzero?() self end
1290
+ ##% remainder(Numeric) -> Integer
1291
+ def remainder(other) 0 end
1292
+ ##% round() -> Integer
1293
+ def round() 0 end
1294
+ ##% step<a | a <= Numeric>(Numeric, ?a) {self or a or Fixnum -> ?} -> self
1295
+ ##% step<a | a <= Numeric>(Numeric, ?a) -> Enumerable::Enumerator<self, self or a or Fixnum>
1296
+ def step(limit, step = 1) self end
1297
+ ##% to_int() -> Integer
1298
+ def to_int() 0 end
1299
+ ##% truncate() -> Integer
1300
+ def truncate() 0 end
1301
+ ##% zero?() -> Boolean
1302
+ def zero?() BOOLEAN end
1303
+
1304
+ ### Integer
1305
+ ##% %(Numeric) -> Fixnum or Bignum
1306
+ def %(other) 0 end
1307
+ ##% &(Numeric) -> Fixnum or Bignum
1308
+ def &(other) 0 end
1309
+ ##% "*"(Float) -> Float
1310
+ ##% "*"(Integer) -> Fixnum or Bignum
1311
+ def *(other) 0 end
1312
+ ##% "**"(Float) -> Float
1313
+ ##% "**"(Integer) -> Fixnum or Bignum
1314
+ def **(other) 0 end
1315
+ ##% +(Float) -> Float
1316
+ ##% +(Integer) -> Fixnum or Bignum
1317
+ def +(other) 0 end
1318
+ ##% -(Float) -> Float
1319
+ ##% -(Integer) -> Fixnum or Bignum
1320
+ def -(other) 0 end
1321
+ ##% /(Float) -> Float
1322
+ ##% /(Integer) -> Fixnum or Bignum
1323
+ def /(other) 0 end
1324
+ ##% ">>"(Integer) -> Fixnum or Bignum
1325
+ def >>(bits) 0 end
1326
+ ##% [](Integer) -> Fixnum
1327
+ def [](nth) 0 end
1328
+ ##% ^(Integer) -> Fixnum or Bignum
1329
+ def ^(other) 0 end
1330
+ ##% chr() -> String
1331
+ def chr() '' end
1332
+ ##% downto(Numeric) {self -> ?} -> self
1333
+ ##% downto(Numeric) -> Enumerator<self, self>
1334
+ def downto(limit, step = 1) self end
1335
+ ##% even?() -> Boolean
1336
+ def even?() BOOLEAN end
1337
+ ##% integer?() -> TrueClass
1338
+ def integer?() true end
1339
+ ##% next() -> Fixnum or Bignum
1340
+ def next() 0 end
1341
+ alias :succ :next
1342
+ ##% odd?() -> Boolean
1343
+ def odd?() BOOLEAN end
1344
+ ##% ord() -> self
1345
+ def ord() self end
1346
+ ##% pred() -> Fixnum or Bignum
1347
+ def pred() 0 end
1348
+ ##% size() -> Fixnum
1349
+ def size() 0 end
1350
+ ##% times() {self -> ?} -> self
1351
+ ##% times() -> Enumerator<self, self>
1352
+ def times() yield self end
1353
+ ##% to_f() -> Float
1354
+ def to_f() 0.0 end
1355
+ ##% to_i() -> self
1356
+ def to_i() self end
1357
+ alias :to_int :to_i
1358
+ ##% to_s(?Integer) -> String
1359
+ def to_s(base = nil) '' end
1360
+ ##% upto(Numeric) {self -> ?} -> self
1361
+ ##% upto(Numeric) -> Enumerator<self, self>
1362
+ def upto(limit, step = 1) self end
1363
+ ##% "|"(Numeric) -> Fixnum or Bignum
1364
+ def |(other) 0 end
1365
+ ##% ~() -> Fixnum or Bignum
1366
+ def ~() 0 end
1367
+ end
1368
+
1369
+ module Kernel
1370
+ private
1371
+
1372
+ ### Constants
1373
+ ARGF = IO.new(0)
1374
+ ARGV = ['']
1375
+ DATA = File.new('')
1376
+ ENV = Hash['', '']
1377
+ FALSE = false
1378
+ NIL = nil
1379
+ PLATFORM = ''
1380
+ RELEASE_DATE = ''
1381
+ RUBY_COPYRIGHT = ''
1382
+ RUBY_DESCRIPTION = ''
1383
+ RUBY_PATCHLEVEL = 0
1384
+ RUBY_PLATFORM = ''
1385
+ RUBY_RELEASE_DATE = ''
1386
+ RUBY_VERSION = ''
1387
+ SCRIPT_LINES__ = {}
1388
+ STDERR = IO.new(0)
1389
+ STDIN = IO.new(0)
1390
+ STDOUT = IO.new(0)
1391
+ TOPLEVEL_BINDING = Binding.new
1392
+ TRUE = true
1393
+ VERSION = ''
1394
+
1395
+ ### Global Variables
1396
+ $! = Exception.new
1397
+ $" = ['']
1398
+ $LOADED_FEATURES = $"
1399
+ $$ = 0
1400
+ #$& = ''
1401
+ #$' = ''
1402
+ $* = ['']
1403
+ #$+ = ''
1404
+ $, = ''
1405
+ $/ = ''
1406
+ $-0 = ''
1407
+ $; = // || ''
1408
+ $-F = $;
1409
+ $: = ['']
1410
+ $LOAD_PATH = $:
1411
+ $-I = $:
1412
+ $KCODE = ''
1413
+ $-K = ''
1414
+ $-a = BOOLEAN
1415
+ $DEBUG = BOOLEAN
1416
+ $-d = BOOLEAN
1417
+ $-i = BOOLEAN
1418
+ $-l = BOOLEAN
1419
+ $-p = BOOLEAN
1420
+ $VERBOSE = BOOLEAN
1421
+ $-v = BOOLEAN
1422
+ $-w = BOOLEAN
1423
+ $. = 0
1424
+ $0 = ''
1425
+ $PROGRAM_NAME = ''
1426
+ #$1 = ''
1427
+ #$2 = ''
1428
+ #$3 = ''
1429
+ #$4 = ''
1430
+ #$5 = ''
1431
+ #$6 = ''
1432
+ #$7 = ''
1433
+ #$8 = ''
1434
+ #$9 = ''
1435
+ #$10 = ''
1436
+ #$11 = ''
1437
+ $< = IO.new(0)
1438
+ $= = BOOLEAN
1439
+ $> = IO.new(0)
1440
+ $stdout = $>
1441
+ $defout = $stdout
1442
+ $? = Process::Status.new
1443
+ $@ = ['']
1444
+ $FILENAME = ''
1445
+ $SAFE = 0
1446
+ $\ = ''
1447
+ $_ = ''
1448
+ #$` = ''
1449
+ $stderr = IO.new(0)
1450
+ $deferr = $stderr
1451
+ $stdin = IO.new(0)
1452
+ $~ = MatchData
1453
+
1454
+ ### Module Methods
1455
+ # FIXME to_ary
1456
+ ##% Array<a | a <= Array>(a) -> a
1457
+ ##% Array(a) -> a
1458
+ def Array(arg) [] end
1459
+ ##% Float(a) -> Float
1460
+ def Float(arg) 0.0 end
1461
+ ##% Integer(a) -> Integer
1462
+ def Integer(arg) 0 end
1463
+ ##% String(a) -> String
1464
+ def String(arg) '' end
1465
+ ##% __method__() -> Symbol
1466
+ def __method__() :a end
1467
+ ##% `(command) -> String
1468
+ def `(command) '' end # `
1469
+ ##% abort(?String) -> nil
1470
+ def abort(message = $!.message) end
1471
+ ##% at_exit() {() -> ?} -> Proc
1472
+ def at_exit() Proc.new end
1473
+ ##% autoload(String or Symbol, String) -> nil
1474
+ def autoload(const_name, feature) end
1475
+ ##% autoload?(String or Symbol) -> String
1476
+ def autoload?(const_name) '' end
1477
+ ##% binding() -> Binding
1478
+ def binding() Binding.new end
1479
+ ##% block_given?() -> Boolean
1480
+ def block_given() BOOLEAN end
1481
+ alias :iterator? :block_given?
1482
+ # FIXME
1483
+ ##% callcc() {Continuation -> ?} -> ?
1484
+ def callcc() end
1485
+ ##% caller(?Integer) -> Array<String>
1486
+ def caller(level_num = 1) [''] end
1487
+ # FIXME
1488
+ ##% catch(a) {a -> ?} -> ?
1489
+ def catch(tag) yield tag end
1490
+ ##% chomp(?String) -> String
1491
+ def chomp(rs = $/) '' end
1492
+ ##% chomp!(?String) -> String
1493
+ def chomp!(rs = $/) '' end
1494
+ ##% chop() -> String
1495
+ def chop() '' end
1496
+ ##% chop!() -> String
1497
+ def chop() '' end
1498
+ ##% eval(String, ?Proc or Binding, ?String, ?Integer) -> ?
1499
+ def eval(expr, bind = nil, fname = __FILE__, lineno = 1) end
1500
+ ##% exec(String) -> nil
1501
+ ##% exec(String, *String) -> nil
1502
+ def exec(command) end
1503
+ ##% exit(Integer or Boolean) -> nil
1504
+ def exit(status = true) end
1505
+ ##% exit!(Integer or Boolean) -> nil
1506
+ def exit!(status = true) end
1507
+ # FIXME
1508
+ ##% raise() -> nil
1509
+ ##% raise(String) -> nil
1510
+ ##% raise(?, ?String, Array<String>) -> nil
1511
+ def raise(*) end
1512
+ alias :fail :raise
1513
+ ##% fork() -> Integer
1514
+ ##% fork() {() -> ?} -> Integer
1515
+ def fork() yield end
1516
+ ##% sprintf(String, *a) -> String
1517
+ def sprintf(format, *arg) '' end
1518
+ alias :format :sprintf
1519
+ ##% getc() -> Fixnum
1520
+ def getc() 0 end
1521
+ ##% gets(?String) -> String
1522
+ def gets(rs = $/) '' end
1523
+ ##% global_variables() -> Array<String>
1524
+ def global_variables() [''] end
1525
+ ##% gsub(String or Regexp, String) -> String
1526
+ ##% gsub(String or Regexp) {String -> ?} -> String
1527
+ ##% gsub(String or Regexp) -> Enumerator<String, String>
1528
+ def gsub(pattern, replace = nil) '' end
1529
+ ##% gsub!(String or Regexp, String) -> self
1530
+ ##% gsub!(String or Regexp) {String -> ?} -> self
1531
+ ##% gsub!(String or Regexp) -> Enumerator<String, self>
1532
+ def gsub!(pattern, replace = nil) self end
1533
+ # skelton
1534
+ def proc() Proc.new end
1535
+ alias :lambda :proc
1536
+ ##% load(String, ?Boolean) -> TrueClass
1537
+ def load(file, priv = false) true end
1538
+ ##% local_varaibles() -> Array<String>
1539
+ def local_varaibles() [''] end
1540
+ ##% loop() {() -> a} -> a
1541
+ def loop() yield end
1542
+ ##% open(String or Integer, ?a, ?Integer) -> IO
1543
+ ##% open(String or Integer, ?a, ?Integer) {IO -> ?} -> nil
1544
+ def open(name, mode = 'r', perm = nil) IO.new(0) end
1545
+ ##% p(*a) -> nil
1546
+ def p(*arg) end
1547
+ ##% print(*a) -> nil
1548
+ def p(*arg) end
1549
+ ##% printf(String, *a) -> nil
1550
+ ##% printf(IO, String, *a) -> nil
1551
+ def printf(*) end
1552
+ ##% putc<a | a <= Integer or String>(a) -> a
1553
+ def putc(ch) ch end
1554
+ ##% puts(*a) -> nil
1555
+ def puts(*arg) end
1556
+ ##% rand(?Numeric) -> Integer or Float
1557
+ def rand(max = 0) 0 || 0.0 end
1558
+ ##% readline(?String) -> String
1559
+ def readline(rs = $/) '' end
1560
+ ##% readlines(?String) -> Array<String>
1561
+ def readlines(rs = $/) [''] end
1562
+ ##% require(String) -> Boolean
1563
+ def require(feature) BOOLEAN end
1564
+ ##% require_relative(String) -> Boolean
1565
+ def require_relative(feature) BOOLEAN end
1566
+ ##% scan(String or Regexp) -> Array<String> or Array<Array<String> >
1567
+ ##% scan(String or Regexp) {String -> ?} -> self
1568
+ def scan(re) [''] || [['']] end
1569
+ ##% select(Array<IO>, ?Array<IO>, ?Array<IO>, ?Integer) -> (Array<IO>, Array<IO>, Array<IO>)
1570
+ def select(reads, writes = [], excepts = [], timeout = nil) [[IO.new(0)], [IO.new(0)], [IO.new(0)]] end
1571
+ def set_trace_func(*) end
1572
+ ##% sleep(?Numeric) -> Integer
1573
+ def sleep(sec = 0) 0 end
1574
+ ##% split(?(String or Regexp), ?Integer) -> Array<String> or Array<Array<String> >
1575
+ def split(sep = $;, limit = 0) [''] || [['']] end
1576
+ ##% srand(?a) -> Integer
1577
+ def srand(seed = nil) 0 end
1578
+ ##% sub(String or Regexp, String) -> String
1579
+ ##% sub(String or Regexp) {String -> ?} -> String
1580
+ ##% sub(String or Regexp) -> Enumerator<String, String>
1581
+ def sub(pattern, replace = nil) '' end
1582
+ ##% sub!(String or Regexp, String) -> self
1583
+ ##% sub!(String or Regexp) {String -> ?} -> self
1584
+ ##% sub!(String or Regexp) -> Enumerator<String, self>
1585
+ def sub!(pattern, replace = nil) self end
1586
+ ##% syscall(Integer, *(String or Integer)) -> Integer
1587
+ def syscall(num, *arg) 0 end
1588
+ ##% system(String) -> Boolean
1589
+ ##% system(String, *String) -> Boolean
1590
+ def system(*) BOOLEAN end
1591
+ ##% test(String or Integer, File) -> Boolean or Time or Integer
1592
+ ##% test(String or Integer, File, File) -> Boolean
1593
+ def test(cmd, file1, file2 = nil) BOOLEAN or Time.new or 0 end
1594
+ # FIXME
1595
+ ##% throw(a, ?b) -> nil
1596
+ def throw(tag, value = nil) end
1597
+ def trace_var(*) end
1598
+ ##% trap(String or Symbol or Integer, String or Process) -> ?
1599
+ ##% trap(String or Symbol or Integer) {() -> ?} -> ?
1600
+ def trap(signal, command = nil) end
1601
+ def untrace_var(*) end
1602
+ ##% warn(a) -> nil
1603
+ def warn(message) end
1604
+ end
1605
+
1606
+ module Marshal
1607
+ MAJOR_VERSION = 0
1608
+ MINOR_VERSION = 0
1609
+
1610
+ ##% dump(Object, ?(IO or String), ?Integer) -> IO or String
1611
+ def dump(obj, port = '', limit = -1) IO.new(0) || '' end
1612
+ ##% load(IO or String, ?Proc) -> Object
1613
+ def load(port, proc = nil) Object.new end
1614
+ end
1615
+
1616
+ class MatchData
1617
+ ##% [](Integer) -> String
1618
+ ##% [](Range) -> String
1619
+ ##% [](Integer, Integer) -> Array<String>
1620
+ def [](*) '' end
1621
+ ##% begin(Integer) -> Fixnum
1622
+ def begin(n) 0 end
1623
+ ##% captures() -> Array<String>
1624
+ def captures() [''] end
1625
+ ##% end(Integer) -> Fixnum
1626
+ def end(n) 0 end
1627
+ ##% end(Integer) -> Fixnum
1628
+ def end(n) 0 end
1629
+ ##% length() -> Fixnum
1630
+ def length() 0 end
1631
+ alias :size :length
1632
+ ##% offset(Integer) -> Fixnum
1633
+ def offset(n) 0 end
1634
+ ##% post_match() -> String
1635
+ def post_match() '' end
1636
+ ##% pre_match() -> String
1637
+ def pre_match() '' end
1638
+ ##% select() {Strign -> ?} -> Array<String>
1639
+ def select() yield ''; [''] end
1640
+ ##% string() -> String
1641
+ def string() '' end
1642
+ ##% to_a() -> Array<String>
1643
+ def to_a() [''] end
1644
+ ##% to_s() -> String
1645
+ def to_s() '' end
1646
+ ##% values_at(*Integer) -> Array<String>
1647
+ def values_at(*idnex) [''] end
1648
+ end
1649
+
1650
+ module Math
1651
+ E = 0.0
1652
+ PI = 0.0
1653
+
1654
+ module_function
1655
+
1656
+ ##% acos(Integer or Float) -> Float
1657
+ def acos(x) 0.0 end
1658
+ ##% acosh(Integer or Float) -> Float
1659
+ def acosh(x) 0.0 end
1660
+ ##% asin(Integer or Float) -> Float
1661
+ def asin(x) 0.0 end
1662
+ ##% asinh(Integer or Float) -> Float
1663
+ def asinh(x) 0.0 end
1664
+ ##% atan(Integer or Float) -> Float
1665
+ def atan(x) 0.0 end
1666
+ ##% atan2(Integer or Float) -> Float
1667
+ def atan2(x) 0.0 end
1668
+ ##% atanh(Integer or Float) -> Float
1669
+ def atanh(x) 0.0 end
1670
+ ##% cos(Integer or Float) -> Float
1671
+ def cos(x) 0.0 end
1672
+ ##% cosh(Integer or Float) -> Float
1673
+ def cosh(x) 0.0 end
1674
+ ##% erf(Integer or Float) -> Float
1675
+ def erf(x) 0.0 end
1676
+ ##% erfc(Integer or Float) -> Float
1677
+ def erfc(x) 0.0 end
1678
+ ##% exp(Integer or Float) -> Float
1679
+ def exp(x) 0.0 end
1680
+ ##% frexp(Integer or Float) -> (Float, Fixnum)
1681
+ def frexp(x) [0.0, 0] end
1682
+ ##% hypot(Integer or Float, Integer or Float) -> Float
1683
+ def hypot(x, y) 0.0 end
1684
+ ##% ldexp(Integer or Float, Integer) -> Float
1685
+ def ldexp(x, exp) 0.0 end
1686
+ ##% log(Integer or Float) -> Float
1687
+ def log(x) 0.0 end
1688
+ ##% log10(Integer or Float) -> Float
1689
+ def log10(x) 0.0 end
1690
+ ##% sin(Integer or Float) -> Float
1691
+ def sin(x) 0.0 end
1692
+ ##% sinh(Integer or Float) -> Float
1693
+ def sinh(x) 0.0 end
1694
+ ##% sqrt(Integer or Float) -> Float
1695
+ def sqrt(x) 0.0 end
1696
+ ##% tan(Integer or Float) -> Float
1697
+ def tan(x) 0.0 end
1698
+ ##% tanh(Integer or Float) -> Float
1699
+ def tanh(x) 0.0 end
1700
+ end
1701
+
1702
+ class Method
1703
+ # FIXME
1704
+ end
1705
+
1706
+ class Module
1707
+ ##% self.constants() -> Array<String>
1708
+ def self.constants() [''] end
1709
+ ##% self.nesting() -> Array<Module or Class>
1710
+ def self.nesting() [Module.new || Class.new] end
1711
+ ##% self.new() -> Module
1712
+ ##% self.new() {Module -> ?} -> Module
1713
+ def self.new() super end
1714
+
1715
+ ##% "<"(Module) -> Boolean
1716
+ def <(other) BOOLEAN end
1717
+ ##% "<="(Module) -> Boolean
1718
+ def <=(other) BOOLEAN end
1719
+ ##% "<=>"(Module) -> Integer
1720
+ def <=>(other) 0 end
1721
+ ##% ===(other) -> Boolean
1722
+ def ===(other) BOOLEAN end
1723
+ ##% ">"(Module) -> Boolean
1724
+ def >(other) BOOLEAN end
1725
+ ##% ">="(Module) -> Boolean
1726
+ def >=(other) BOOLEAN end
1727
+ ##% ancestors() -> Array<Module or Class>
1728
+ def ancestors() [Module.new || Class.new] end
1729
+ ##% autoload(String or Symbol, String) -> nil
1730
+ def autoload(const_name, feature) nil end
1731
+ ##% autoload(String or Symbol) -> String
1732
+ def autoload?(const_name) '' end
1733
+ ##% module_eval(String, ?String, ?Integer) -> Object
1734
+ ##% module_eval() {self -> ?} -> Object
1735
+ def module_eval(*) end
1736
+ alias :class_eval :module_eval
1737
+ ##% class_variable_defined?(String or Symbol) -> Boolean
1738
+ def class_variable_defined?(name) BOOLEAN end
1739
+ ##% class_variables() -> Array<String>
1740
+ def class_variables() [''] end
1741
+ ##% const_defined?(String or Symbol) -> Boolean
1742
+ def const_defined?(name) BOOLEAN end
1743
+ ##% const_get(String or Symbol) -> Object
1744
+ def const_get(name) Object.new end
1745
+ ##% const_missing(Symbol) -> nil
1746
+ def const_missing(name) end
1747
+ ##% const_set(String or Symbol, a) -> a
1748
+ def const_set(name, value) value end
1749
+ ##% constants() -> Array<String>
1750
+ def constants() [''] end
1751
+ ##% include?(Module) -> Boolean
1752
+ def include?() BOOLEAN end
1753
+ ##% included_modules() -> Array<Module>
1754
+ def included_modules() [Module.new] end
1755
+ ##% instance_method(String or Symbol) -> UnboundMethod
1756
+ def instance_method(name) UnboundMethod.new end
1757
+ ##% instance_methods(?Boolean) -> Array<String>
1758
+ def instance_methods(inherited_too = true) [''] end
1759
+ ##% method_defined(String or Symbol) -> Boolean
1760
+ def method_defined(name) BOOLEAN end
1761
+ ##% name() -> String
1762
+ def name() '' end
1763
+ alias :to_s :name
1764
+ ##% private_class_method(*(String or Symbol)) -> self
1765
+ def private_class_method(*name) self end
1766
+ ##% private_instance_methods(?Boolean) -> Array<String>
1767
+ def private_instance_methods(inherited_too = true) [''] end
1768
+ ##% private_method_defined?(String or Symbol) -> Boolean
1769
+ def private_method_defined?(name) BOOLEAN end
1770
+ ##% protected_class_method(*(String or Symbol)) -> self
1771
+ def protected_class_method(*name) self end
1772
+ ##% protected_instance_methods(?Boolean) -> Array<String>
1773
+ def protected_instance_methods(inherited_too = true) [''] end
1774
+ ##% protected_method_defined?(String or Symbol) -> Boolean
1775
+ def protected_method_defined?(name) BOOLEAN end
1776
+ ##% public_class_method(*(String or Symbol)) -> self
1777
+ def public_class_method(*name) self end
1778
+ ##% public_instance_methods(?Boolean) -> Array<String>
1779
+ def public_instance_methods(inherited_too = true) [''] end
1780
+ ##% public_method_defined?(String or Symbol) -> Boolean
1781
+ def public_method_defined?(name) BOOLEAN end
1782
+
1783
+ private
1784
+ ##% alias_method(String or Symbol, String or Symbol) -> self
1785
+ def alias_method(new, original) self end
1786
+ ##% append_features(Module) -> self
1787
+ def append_features(module_or_class) self end
1788
+ ##% attr(String or Symbol, ?Boolean) -> nil
1789
+ def attr(name, assignable = false) nil end
1790
+ ##% attr_accessor(*(String or Symbol)) -> nil
1791
+ def attr_accessor(*name) nil end
1792
+ ##% attr_reader(*(String or Symbol)) -> nil
1793
+ def attr_reader(*name) nil end
1794
+ ##% attr_writer(*(String or Symbol)) -> nil
1795
+ def attr_writer(*name) nil end
1796
+ ##% module_exec(*args) {args -> ?} -> Object
1797
+ def module_exec(*args) yield *args end
1798
+ alias :class_exec :module_exec
1799
+ ##% class_variable_get(String or Symbol) -> Object
1800
+ def class_variable_get(name) Object.new end
1801
+ ##% class_variable_set(String or Symbol, a) -> a
1802
+ def class_variable_set(name, val) val end
1803
+ ##% define_method<a | a <= Proc or Method or UnboundMethod>(String or Symbol, a) -> Proc or Method or UnboundMethod
1804
+ ##^ define_method(String or Symbol) {() -> ?} -> Proc
1805
+ def define_method(*) end
1806
+ ##% extend_object<a | a <= Module>(a) -> a
1807
+ def extend_object(mod) mod end
1808
+ ##% extended(Module) -> nil
1809
+ def extended(class_or_module) end
1810
+ ##% include(*Module) -> self
1811
+ def include(*mod) self end
1812
+ ##% included(Module) -> nil
1813
+ def included(class_or_module) end
1814
+ ##% method_added(Symbol) -> nil
1815
+ def method_added(name) end
1816
+ ##% method_removed(Symbol) -> nil
1817
+ def method_removed(name) end
1818
+ ##% method_undefined(Symbol) -> nil
1819
+ def method_undefined(name) end
1820
+ ##% module_function(*(String or Symbol)) -> self
1821
+ def module_function(*name) self end
1822
+ ##% private(*(String or Symbol)) -> self
1823
+ def private(*name) self end
1824
+ ##% protected(*(String or Symbol)) -> self
1825
+ def protected(*name) self end
1826
+ ##% public(*(String or Symbol)) -> self
1827
+ def public(*name) self end
1828
+ ##% remove_class_variable(String or Symbol) -> Object
1829
+ def remove_class_variable(name) Object.new end
1830
+ ##% remove_const(String or Symbol) -> Object
1831
+ def remove_const(name) Object.new end
1832
+ ##% remove_method(*(String or Symbol)) -> self
1833
+ def remove_method(*name) self end
1834
+ ##% undef_method(*(String or Symbol)) -> self
1835
+ def undef_method(*name) self end
1836
+ end
1837
+
1838
+ class NilClass
1839
+ ##% &(a) -> FalseClass
1840
+ def &(other) false end
1841
+ ##% ^(a) -> Boolean
1842
+ def ^(other) BOOLEAN end
1843
+ ##% nil?() -> TrueClass
1844
+ def nil?() true end
1845
+ ##% to_a() -> Array
1846
+ def to_a() [] end
1847
+ ##% to_f() -> Float
1848
+ def to_f() 0.0 end
1849
+ ##% to_i() -> Fixnum
1850
+ def to_i() 0 end
1851
+ ##% to_s() -> String
1852
+ def to_s() '' end
1853
+ ##% "|"(a) -> Boolean
1854
+ def |(other) BOOLEAN end
1855
+ end
1856
+
1857
+ class Numeric
1858
+ include Comparable
1859
+
1860
+ ### Comparable
1861
+ ##% "<"(Numeric) -> Boolean
1862
+ def <(other) BOOLEAN end
1863
+ ##% "<="(Numeric) -> Boolean
1864
+ def <=(other) BOOLEAN end
1865
+ ##% ==(Numeric) -> Boolean
1866
+ def ==(other) BOOLEAN end
1867
+ ##% ">"(Numeric) -> Boolean
1868
+ def >(other) BOOLEAN end
1869
+ ##% ">="(Numeric) -> Boolean
1870
+ def >=(other) BOOLEAN end
1871
+ ##% between?(Numeric, Numeric) -> Boolean
1872
+ def between?(min, max) BOOLEAN end
1873
+
1874
+ ### Numeric
1875
+ ##% +@() -> self
1876
+ def +@() self end
1877
+ ##% -@() -> Numeric
1878
+ def -@() Numeric end
1879
+ ##% "<=>"(Numeric) -> Fixnum
1880
+ def <=>(other) 0 end
1881
+ ##% abs() -> Numeric
1882
+ def abs() self end
1883
+ ##% ceil() -> Integer
1884
+ def ceil() 0 end
1885
+ ##% clone() -> self
1886
+ def clone() self end
1887
+ alias :dup :clone
1888
+ ##% coerce(Numeric) -> (Float, Float)
1889
+ def coerce(other) [0.0, 0.0] end
1890
+ ##% div(Numeric) -> Integer
1891
+ def div(other) 0 end
1892
+ ##% divmod(Numeric) -> (Integer, Numeric)
1893
+ def divmod(other) [0, 0] end
1894
+ ##% eql?(Numeric) -> Boolean
1895
+ def eql?(other) BOOLEAN end
1896
+ ##% quo(Numeric) -> Float
1897
+ def quo(other) 0.0 end
1898
+ ##% fdiv(Numeric) -> Float
1899
+ def fdiv(other) 0.0 end
1900
+ ##% floor() -> Integer
1901
+ def floor() 0 end
1902
+ ##% integer?() -> Boolean
1903
+ def integer?() BOOLEAN end
1904
+ ##% modulo(Numeric) -> Numeric
1905
+ def modulo(other) 0 end
1906
+ ##% nonzero?() -> self
1907
+ def nonzero?() self end
1908
+ ##% remainder(Numeric) -> Numeric
1909
+ def remainder(other) 0 end
1910
+ ##% round() -> Integer
1911
+ def round() 0 end
1912
+ ##% step<a | a <= Numeric>(Numeric, ?a) {self or a or Fixnum -> ?} -> self
1913
+ ##% step<a | a <= Numeric>(Numeric, ?a) -> Enumerable::Enumerator<self, self or a or Fixnum>
1914
+ def step(limit, step = 1) self end
1915
+ ##% to_int() -> Integer
1916
+ def to_int() 0 end
1917
+ ##% truncate() -> Integer
1918
+ def truncate() 0 end
1919
+ ##% zero?() -> Boolean
1920
+ def zero?() BOOLEAN end
1921
+ end
1922
+
1923
+ class Object
1924
+ ##% ==(a) -> Boolean
1925
+ def ==(other) BOOLEAN end
1926
+ ##% ===(a) -> Boolean
1927
+ def ===(other) BOOLEAN end
1928
+ ##% =~(a) -> FalseClass
1929
+ def =~(other) FALSE end
1930
+ ##% __id__() -> Integer
1931
+ def __id__() 0 end
1932
+ alias :object_id :__id__
1933
+ alias :id :__id__
1934
+ ##% send(String or Symbol, *a) -> Object
1935
+ def send(name, *args) end
1936
+ ##% _dump(Integer) -> String
1937
+ def _dump(limit) '' end
1938
+ ###% class() -> Class
1939
+ #def class() Class.new end
1940
+ alias :type :class
1941
+ ##% clone() -> self
1942
+ def clone() self end
1943
+ alias :dup :clone
1944
+ ##% display(?IO) -> nil
1945
+ def display(out = $stdout) nil end
1946
+ ##% to_enum(?String, *a) -> Enumerator
1947
+ def to_enum(method = :each, *args) Enumerator.new end
1948
+ alias :enum_for :to_enum
1949
+ ##% eql?(a) -> Boolean
1950
+ def eql?(other) BOOLEAN end
1951
+ ##% equal?(a) -> Boolean
1952
+ def equal?(other) BOOLEAN end
1953
+ ##% extend(*Module) -> self
1954
+ def extend(*modules) self end
1955
+ ##% freeze() -> self
1956
+ def freeze() self end
1957
+ ##% frozen?() -> Boolean
1958
+ def frozen?() BOOLEAN end
1959
+ ##% hash() -> Fixnum
1960
+ def hash() 0 end
1961
+ ##% inspect() -> String
1962
+ def inspect() '' end
1963
+ ##% instance_eval(String, ?String, ?Integer) -> Object
1964
+ ##% instance_eval() {Object -> ?} -> Object
1965
+ def instance_eval(expr, filename = "(eval)", lineno = 1) Object.new end
1966
+ ##% instance_of?(Class) -> Boolean
1967
+ def instance_of?(klass) BOOLEAN end
1968
+ ##% instance_variable_defined?(String or Symbol) -> Boolean
1969
+ def instance_variable_defined?(var) BOOLEAN end
1970
+ ##% instance_variable_get(String or Symbol) -> Object
1971
+ def instance_variable_get(var) Object.new end
1972
+ ##% instance_variable_set(String or Symbol, a) -> a
1973
+ def instance_variable_set(var, value) value end
1974
+ ##% instance_variables() -> Array<String>
1975
+ def instance_variables() [''] end
1976
+ ##% is_a?(Module) -> Boolean
1977
+ def is_a?(mod) BOOLEAN end
1978
+ alias :kind_of? :is_a?
1979
+ ##% marshal_dump() -> Object
1980
+ def marshal_dump() Object.new end
1981
+ ##% marshal_load(Object) -> ?
1982
+ def marshal_load(obj) end
1983
+ ##% method(String or Symbol) -> Method
1984
+ def method(name) Method.new end
1985
+ def method_missing(name, *args) end
1986
+ ##% methods(?Boolean) -> Array<String>
1987
+ def methods(include_inherited = true) [''] end
1988
+ ##% nil?() -> Boolean
1989
+ def nil?() BOOLEAN end
1990
+ ##% private_methods(?Boolean) -> Array<String>
1991
+ def private_methods(include_inherited = true) [''] end
1992
+ ##% protected_methods(?Boolean) -> Array<String>
1993
+ def protected_methods(include_inherited = true) [''] end
1994
+ ##% public_methods(?Boolean) -> Array<String>
1995
+ def public_methods(include_inherited = true) [''] end
1996
+ ##% respond_to?(String or Symbol, ?Boolean) -> Boolean
1997
+ def respond_to?(name, include_private = false) BOOLEAN end
1998
+ ##% singleton_methods(?Boolean) -> Array<String>
1999
+ def singleton_methods(inherited_too = true) [''] end
2000
+ ##% taint() -> self
2001
+ def taint() self end
2002
+ ##% tainted?() -> Boolean
2003
+ def tainted?() BOOLEAN end
2004
+ ##% tap() {self -> ?} -> self
2005
+ def tap() yield self; self end
2006
+ ##% to_a() -> Array
2007
+ def to_a() [] end
2008
+ ##% to_s() -> String
2009
+ def to_s() '' end
2010
+ ##% untaint() -> self
2011
+ def untaint() self end
2012
+
2013
+ private
2014
+ ##% to_ary() -> Array
2015
+ def to_ary() [] end
2016
+ ##% to_hash() -> Hash
2017
+ def to_hash() {} end
2018
+ ##% to_int() -> Integer
2019
+ def to_int() 0 end
2020
+ ##% to_io() -> IO
2021
+ def to_io() IO.new(0) end
2022
+ ##% to_proc() -> Proc
2023
+ def to_proc() Proc.new end
2024
+ ##% to_regexp() -> Regexp
2025
+ def to_regexp() Regexp.new end
2026
+ ##% to_str() -> String
2027
+ def to_str() '' end
2028
+
2029
+ # FIXME singleton methods
2030
+ end
2031
+
2032
+ module ObjectSpace
2033
+ # FIXME
2034
+ end
2035
+
2036
+ module Precision
2037
+ ##% self.included(Module or Class) -> Precision
2038
+ def self.included(module_or_class) self end
2039
+ ##% self.induced_from(a) -> Object
2040
+ def self.induced_from(number) 0 end
2041
+
2042
+ ##% prec(Class) -> Fixnum
2043
+ def prec(klass) 0 end
2044
+ ##% prec_f() -> Float
2045
+ def prec_f() 0.0 end
2046
+ ##% prec_i() -> Fixnum
2047
+ def prec_i() 0 end
2048
+ end
2049
+
2050
+ class Proc
2051
+ ##% call(*a) -> Object
2052
+ def call(*arg) Object.new end
2053
+ alias :[] :call
2054
+ ##% arity() -> Fixnum
2055
+ def arity() 0 end
2056
+ ##% binding() -> Binding
2057
+ def binding() Binding.new end
2058
+ ##% to_proc() -> self
2059
+ def to_proc() self end
2060
+ ##% to_s() -> String
2061
+ def to_s() '' end
2062
+ end
2063
+
2064
+ module Process
2065
+ PRIO_PGRP = 0
2066
+ PRIO_PROCESS = 0
2067
+ PRIO_USER = 0
2068
+ RLIMIT_AS = 0
2069
+ RLIMIT_CORE = 0
2070
+ RLIMIT_CPU = 0
2071
+ RLIMIT_DATA = 0
2072
+ RLIMIT_FSIZE = 0
2073
+ RLIMIT_MEMLOCK = 0
2074
+ RLIMIT_NOFILE = 0
2075
+ RLIMIT_NPROC = 0
2076
+ RLIMIT_RSS = 0
2077
+ RLIMIT_SBSIZE = 0
2078
+ RLIMIT_STACK = 0
2079
+ RLIM_INFINITY = 0
2080
+ RLIM_SAVED_CUR = 0
2081
+ RLIM_SAVED_MAX = 0
2082
+ WNOHANG = 0
2083
+ WUNTRACED = 0
2084
+
2085
+ ##% self.abort(?String) -> ?
2086
+ def self.abort(message = '') end
2087
+ ##% self.detach(Integer) -> Thread
2088
+ def self.detach(pid) Thread.current end
2089
+ ##% self.exec(String, *String) -> ?
2090
+ def self.exec(command, *args) end
2091
+ ##% self.exit(?Boolean) -> ?
2092
+ def self.exit(status = true) end
2093
+ ##% self.exit!(?Boolean) -> ?
2094
+ def self.exit!(status = true) end
2095
+ ##% self.fork() -> Integer
2096
+ ##% self.fork() {() -> ?} -> Integer
2097
+ def self.fork() yield; 0 end
2098
+
2099
+ module_function
2100
+ ##% egid() -> Integer
2101
+ def egid() 0 end
2102
+ ##% egid=(Integer) -> ?
2103
+ def egid=(gid) end
2104
+ ##% euid() -> Integer
2105
+ def euid() 0 end
2106
+ ##% euid=(Integer) -> ?
2107
+ def euid=(gid) end
2108
+ ##% getpgid(?Integer) -> Integer
2109
+ def getpgid(pid = 0) 0 end
2110
+ ##% getpgrp() -> Integer
2111
+ def getpgrp() 0 end
2112
+ ##% getpriority(Integer, Integer) -> Integer
2113
+ def getpriority(which, who) 0 end
2114
+ ##% getrlimit(Integer) -> (Integer, Integer)
2115
+ def getrlimit(resource) [0, 0] end
2116
+ ##% gid() -> Integer
2117
+ def gid() 0 end
2118
+ ##% gid=(Integer) -> ?
2119
+ def gid=(gid) end
2120
+ ##% groups() -> Array<Integer>
2121
+ def groups() [0] end
2122
+ ##% groups=(a) -> ?
2123
+ def groups=(gids) end
2124
+ ##% initgroups(String, Integer) -> Array<Integer>
2125
+ def initgroups(user, group) [0] end
2126
+ ##% kill(Integer or String, Integer, *Integer) -> Integer
2127
+ def kill(signal, pid, *rest) 0 end
2128
+ ##% maxgroups() -> Integer
2129
+ def maxgroups() 0 end
2130
+ ##% maxgroups=(Integer) -> ?
2131
+ def maxgroups=(num) end
2132
+ ##% pid() -> Integer
2133
+ def pid() 0 end
2134
+ ##% ppid() -> Integer
2135
+ def ppid() 0 end
2136
+ ##% setpgid(Integer, Integer) -> Integer
2137
+ def setpgid(pid, pgrp) 0 end
2138
+ ##% setpgrp() -> Integer
2139
+ def setpgrp() 0 end
2140
+ ##% setpriority(Integer, Integer, Integer) -> Integer
2141
+ def setpriority(which, who, prio) 0 end
2142
+ ##% setrlimit(Integer, Integer, ?Integer) -> nil
2143
+ def setrlimit(resource, cur_limit, max_limit = nil) nil end
2144
+ ##% setsid() -> Integer
2145
+ def setsid() 0 end
2146
+ ##% times() -> Struct::Tms
2147
+ def times() Struct::Tms.new end
2148
+ ##% uid() -> Integer
2149
+ def uid() 0 end
2150
+ ##% uid=(Integer) -> ?
2151
+ def uid=(id) end
2152
+ ##% wait() -> Integer
2153
+ def wait() 0 end
2154
+ ##% wait2() -> (Integer, Process::Status)
2155
+ def wait2() [0, Process::Status.new] end
2156
+ ##% waitall() -> Array<(Integer, Process::Status)>
2157
+ def waitall() [[0, Process::Status.new]] end
2158
+ ##% waitpid(Integer, ?Integer) -> Integer
2159
+ def waitpid(pid, flags = 0) 0 end
2160
+ ##% waitpid2(Integer, ?Integer) -> (Integer, Process::Status)
2161
+ def waitpid2(pid, flags = 0) [0, Process::Status.new] end
2162
+ end
2163
+
2164
+ module Process::GID
2165
+ module_function
2166
+ ##% change_privilege(Integer) -> Integer
2167
+ def change_privilege(id) 0 end
2168
+ ##% eid() -> Integer
2169
+ def eid() 0 end
2170
+ ##% grant_privilege(Integer) -> Integer
2171
+ def grant_privilege(id) 0 end
2172
+ alias :eid= :grant_privilege
2173
+ ##% re_exchange() -> Integer
2174
+ def re_exchange() 0 end
2175
+ ##% re_exchangeable?() -> Boolean
2176
+ def re_exchangeable?() BOOLEAN end
2177
+ ##% rid() -> Integer
2178
+ def rid() 0 end
2179
+ ##% sid_available?() -> Boolean
2180
+ def sid_available?() BOOLEAN end
2181
+ ##% switch() -> Integer
2182
+ ##% switch() {() -> a} -> a
2183
+ def switch() yield; 0 end
2184
+ end
2185
+
2186
+ class Process::Status
2187
+ ##% &(Integer) -> Integer
2188
+ def &(other) Integer end
2189
+ ##% ==(a) -> Boolean
2190
+ def ==(other) BOOLEAN end
2191
+ ##% ">>"(Integer) -> Integer
2192
+ def >>(num) 0 end
2193
+ ##% coredump?() -> Boolean
2194
+ def coredump?() BOOLEAN end
2195
+ ##% exited?() -> Boolean
2196
+ def exited?() BOOLEAN end
2197
+ ##% exitstatus() -> Integer
2198
+ def exitstatus() 0 end
2199
+ ##% inspect() -> String
2200
+ def inspect() '' end
2201
+ ##% pid() -> Integer
2202
+ def pid() 0 end
2203
+ ##% signaled?() -> Boolean
2204
+ def signaled?() BOOLEAN end
2205
+ ##% stopped?() -> Boolean
2206
+ def stopped?() BOOLEAN end
2207
+ ##% stopsig() -> Integer
2208
+ def stopsig() 0 end
2209
+ ##% success?() -> Boolean
2210
+ def success?() BOOLEAN end
2211
+ ##% termsig() -> Integer
2212
+ def termsig() 0 end
2213
+ ##% to_i() -> Integer
2214
+ def to_i() 0 end
2215
+ alias :to_int :to_i
2216
+ ##% to_s() -> String
2217
+ def to_s() '' end
2218
+ end
2219
+
2220
+ module Process::Sys
2221
+ module_function
2222
+ ##% getegid() -> Integer
2223
+ def getegid() 0 end
2224
+ ##% geteuid() -> Integer
2225
+ def geteuid() 0 end
2226
+ ##% getgid() -> Integer
2227
+ def getgid() 0 end
2228
+ ##% getuid() -> Integer
2229
+ def getuid() 0 end
2230
+ ##% issetugid() -> Boolean
2231
+ def issetugid() BOOLEAN end
2232
+ ##% setegid(Integer) -> nil
2233
+ def setegid(id) nil end
2234
+ ##% seteuid(Integer) -> nil
2235
+ def seteuid(id) nil end
2236
+ ##% setgid(Integer) -> nil
2237
+ def setgid(id) nil end
2238
+ ##% setregid(Integer, Integer) -> nil
2239
+ def setregid(rid, eid) nil end
2240
+ ##% setresgid(Integer, Integer, Integer) -> nil
2241
+ def setresgid(rid, eid, sid) nil end
2242
+ ##% setresuid(Integer, Integer, Integer) -> nil
2243
+ def setresuid(rid, eid, sid) nil end
2244
+ ##% setreuid(Integer, Integer) -> nil
2245
+ def setreuid(rid, eid) nil end
2246
+ ##% setrgid(Integer) -> nil
2247
+ def setrgid(id) nil end
2248
+ ##% setruid(Integer) -> nil
2249
+ def setruid(id) nil end
2250
+ ##% setuid(Integer) -> nil
2251
+ def setuid(id) nil end
2252
+ end
2253
+
2254
+ module Process::UID
2255
+ module_function
2256
+ ##% change_privilege(Integer) -> Integer
2257
+ def change_privilege(id) 0 end
2258
+ ##% eid() -> Integer
2259
+ def eid() 0 end
2260
+ ##% grant_privilege(Integer) -> Integer
2261
+ def grant_privilege(id) 0 end
2262
+ alias :eid= :grant_privilege
2263
+ ##% re_exchange() -> Integer
2264
+ def re_exchange() 0 end
2265
+ ##% re_exchangeable?() -> Boolean
2266
+ def re_exchangeable?() BOOLEAN end
2267
+ ##% rid() -> Integer
2268
+ def rid() 0 end
2269
+ ##% sid_available?() -> Boolean
2270
+ def sid_available?() BOOLEAN end
2271
+ ##% switch() -> Integer
2272
+ ##% switch() {() -> a} -> a
2273
+ def switch() yield; 0 end
2274
+ end
2275
+
2276
+ ##% Range<t>
2277
+ class Range
2278
+ include Enumerable
2279
+
2280
+ ##% self.new(a, b, ?Boolean) -> Range<a or b>
2281
+ def self.new() end
2282
+
2283
+ ##% ==(a) -> Boolean
2284
+ def ==(other) BOOLEAN end
2285
+ ##% ===(a) -> Boolean
2286
+ def ===(other) BOOLEAN end
2287
+ alias :include? :===
2288
+ alias :member? :===
2289
+ ##% begin() -> t
2290
+ def begin() end
2291
+ alias :first :begin
2292
+ ##% each() {t -> ?} -> self
2293
+ ##% each() -> Enumerator<self, t>
2294
+ def each() self end
2295
+ ##% end() -> t
2296
+ def end() end
2297
+ alias :last :end
2298
+ ##% eql?(a) -> Boolean
2299
+ def eql?(other) BOOLEAN end
2300
+ ##% equal?(a) -> Boolean
2301
+ def equal?(other) BOOLEAN end
2302
+ ##% exclude_end?() -> Boolean
2303
+ def exclude_end?() BOOLEAN end
2304
+ ##% hash() -> Integer
2305
+ def hash() 0 end
2306
+ ##% step(?Fixnum) {t -> ?} -> self
2307
+ ##% step(?Fixnum) -> Enumerator<self, t>
2308
+ def step(s = 1) end
2309
+ end
2310
+
2311
+ class Regexp
2312
+ EXTENDED = 0
2313
+ IGNORECASE = 0
2314
+ MULTILINE = 0
2315
+
2316
+ ##% self.compile(String, Fixnum or Boolean, String) -> Regexp
2317
+ def self.compile(string, option = nil, code = nil) Regexp.new end
2318
+ ##% self.escape(String, ?String) -> String
2319
+ def self.escape(string, kcode = $KCODE) '' end
2320
+ ##% self.last_match() -> MatchData
2321
+ ##% self.last_match(Integer) -> MatchData
2322
+ def self.last_match(n = nil) MatchData.new end
2323
+ ##% self.union(*(String or Regexp)) -> Regexp
2324
+ def self.union(*pattern) Regexp.new end
2325
+
2326
+ ##% ==(Regexp) -> Boolean
2327
+ def ==(other) BOOLEAN end
2328
+ alias :eql? :==
2329
+ ##% =~(String) -> Fixnum
2330
+ def =~(string) 0 end
2331
+ ##% ===(string) -> Boolean
2332
+ def ===(string) BOOLEAN end
2333
+ ##% casefold?() -> Boolean
2334
+ def casefold?() BOOLEAN end
2335
+ ##% hash() -> Fixnum
2336
+ def hash() 0 end
2337
+ ##% inspect() -> String
2338
+ def inspect() '' end
2339
+ ##% kcode() -> String
2340
+ def kcode() '' end
2341
+ ##% match(String) -> MatchData
2342
+ def match(str) MatchData.new end
2343
+ ##% options() -> Integer
2344
+ def options() 0 end
2345
+ ##% source() -> String
2346
+ def source() '' end
2347
+ ##% to_s() -> String
2348
+ def to_s() '' end
2349
+ ##% ~() -> Fixnum
2350
+ def ~() 0 end
2351
+ end
2352
+
2353
+ module Signal
2354
+ module_function
2355
+ ##% list() -> Hash<String, Integer>
2356
+ def list() {'' => 1} end
2357
+ ##% trap(String or Symbol, String or Proc) -> String or Proc
2358
+ ##% trap(String or Symbol) {() -> ?} -> String or Proc
2359
+ def trap(signal, command = nil) yield; '' end
2360
+ end
2361
+
2362
+ ##% String<| String <= t>
2363
+ class String
2364
+ include Enumerable
2365
+ include Comparable
2366
+
2367
+ ##% self.new(?String) -> String
2368
+ def self.new(string = '') '' end
2369
+
2370
+ ##% %(a) -> String
2371
+ def %(args) '' end
2372
+ ##% "*"(Integer) -> String
2373
+ def *(times) '' end
2374
+ ##% +(String) -> String
2375
+ def +(other) '' end
2376
+ ##% "<<"(?Fixnum or String) -> self
2377
+ def <<(other) self end
2378
+ alias :concat :<<
2379
+ ##% "<=>"(String) -> Integer
2380
+ def <=>(other) 0 end
2381
+ ##% ==(a) -> Boolean
2382
+ def ==(other) BOOLEAN end
2383
+ # FIXME =~
2384
+ ##% =~(a) -> Integer
2385
+ def =~(other) 0 end
2386
+ ##% [](Integer) -> Fixnum
2387
+ ##% [](Integer, Integer) -> String
2388
+ ##% [](String) -> String
2389
+ ##% [](Regexp, ?Integer) -> String
2390
+ ##% [](Range) -> String
2391
+ def [](*) 0 end
2392
+ alias :slice :[]
2393
+ ##% []=(Integer, String or Integer) -> String
2394
+ ##% []=(Integer, Integer, String or Integer) -> String
2395
+ ##% []=(String, String or Integer) -> String
2396
+ ##% []=(Regexp, ?Integer, String or Integer) -> String
2397
+ ##% []=(Range, String or Integer) -> String
2398
+ def []=(*) '' end
2399
+ ##% each_byte() {Fixnum -> ?} -> self
2400
+ ##% each_byte() -> Enumerator<self, Fixnum>
2401
+ def each_byte() yield 0; self end
2402
+ alias :bytes :each_byte
2403
+ ##% bytesize() -> Integer
2404
+ def bytesize() 0 end
2405
+ ##% capitalize() -> String
2406
+ def capitalize() '' end
2407
+ ##% capitalize!() -> self
2408
+ def capitalize!() '' end
2409
+ ##% casecmp(String) -> Integer
2410
+ def casecmp(other) 0 end
2411
+ ##% center(Integer, ?String) -> String
2412
+ def center(width, padding = ' ') '' end
2413
+ ##% each_char() {String -> ?} -> self
2414
+ ##% each_char() -> Enumerator<self, String>
2415
+ def each_char() yield ''; self end
2416
+ alias :chars :each_char
2417
+ ##% chomp(?String) -> String
2418
+ def chomp(rs = $/) '' end
2419
+ ##% chomp!(?String) -> self
2420
+ def chomp!(rs = $/) self end
2421
+ ##% chop() -> String
2422
+ def chop() '' end
2423
+ ##% chop!() -> self
2424
+ def chop!() self end
2425
+ ##% count(*String) -> Integer
2426
+ def count(*chars) 0 end
2427
+ ##% crypt(String) -> String
2428
+ def crypt(salt) '' end
2429
+ ##% delete(*String) -> String
2430
+ def delete(*strs) '' end
2431
+ ##% delete!(*String) -> self
2432
+ def delete!(*strs) self end
2433
+ ##% downcase() -> String
2434
+ def downcase() '' end
2435
+ ##% downcase!() -> self
2436
+ def downcase!() self end
2437
+ ##% dump() -> String
2438
+ def dump() '' end
2439
+ ##% each(?String) {String -> ?} -> self
2440
+ ##% each(?String) -> Enumerator<self, String>
2441
+ def each(rs = $/) yield ''; self end
2442
+ alias :each_line :each
2443
+ alias :lines :each
2444
+ ##% empty?() -> Boolean
2445
+ def empty?() Boolean end
2446
+ ##% end_with?(String) -> Boolean
2447
+ def end_with?(str) BOOLEAN end
2448
+ ##% eql?(a) -> Boolean
2449
+ def eql?(other) BOOLEAN end
2450
+ ##% gsub(String or Regexp, String) -> String
2451
+ ##% gsub(String or Regexp) {String -> ?} -> String
2452
+ ##% gsub(String or Regexp) -> Enumerator<String, String>
2453
+ def gsub(pattern, replace = nil) '' end
2454
+ ##% gsub!(String or Regexp, String) -> self
2455
+ ##% gsub!(String or Regexp) {String -> ?} -> self
2456
+ ##% gsub!(String or Regexp) -> Enumerator<String, self>
2457
+ def gsub!(pattern, replace = nil) self end
2458
+ ##% hash() -> Integer
2459
+ def hash() 0 end
2460
+ ##% hex() -> Integer
2461
+ def hex() 0 end
2462
+ ##% include?(String or Integer) -> Boolean
2463
+ def include?(substr) BOOLEAN end
2464
+ ##% index(String or Regexp, ?Integer) -> Integer
2465
+ def index(pattern, pos = 0) 0 end
2466
+ ##% insert(Integer, String) -> self
2467
+ def insert(pos, other) self end
2468
+ ##% inspect() -> String
2469
+ def inspect() '' end
2470
+ ##% intern() -> Symbol
2471
+ def intern() :a end
2472
+ alias :to_sym :intern
2473
+ ##% length() -> Integer
2474
+ def length() 0 end
2475
+ alias :length :size
2476
+ ##% ljust(Integer, ?String) -> String
2477
+ def ljust(width, padding = ' ') '' end
2478
+ ##% lstrip() -> String
2479
+ def lstrip() '' end
2480
+ ##% lstrip!() -> self
2481
+ def lstrip!() self end
2482
+ ##% match(String or Regexp) -> MatchData
2483
+ def match(regexp) MatchData.new end
2484
+ ##% succ() -> String
2485
+ def succ() '' end
2486
+ alias :next :succ
2487
+ ##% succ!() -> self
2488
+ def succ!() self end
2489
+ alias :next! :succ!
2490
+ ##% oct() -> Integer
2491
+ def oct() 0 end
2492
+ ##% partition(String or Regexp) -> (String, String, String)
2493
+ def partition(sep) ['', '', ''] end
2494
+ ##% replace(String) -> String
2495
+ def replace(other) self end
2496
+ ##% reverse() -> String
2497
+ def reverse() '' end
2498
+ ##% reverse!() -> self
2499
+ def reverse!() self end
2500
+ ##% rindex(String or Regexp, ?Integer) -> Integer
2501
+ def rindex(pattern, pos = 0) 0 end
2502
+ ##% rjust(Integer, ?String) -> String
2503
+ def rjust(width, padding = ' ') '' end
2504
+ ##% rpartition(String or Regexp) -> (String, String, String)
2505
+ def rpartition(sep) ['', '', ''] end
2506
+ ##% rstrip() -> String
2507
+ def rstrip() '' end
2508
+ ##% rstrip!() -> self
2509
+ def rstrip!() self end
2510
+ ##% scan(String or Regexp) -> Array<String> or Array<Array<String> >
2511
+ ##% scan(String or Regexp) {String -> ?} -> self
2512
+ def scan(re) [''] || [['']] end
2513
+ alias :slice! :[]
2514
+ ##% split(?(String or Regexp), ?Integer) -> Array<String> or Array<Array<String> >
2515
+ def split(sep = $;, limit = 0) [''] || [['']] end
2516
+ ##% squeeze(*String) -> String
2517
+ def squeeze(*chars) '' end
2518
+ ##% squeeze!(*String) -> self
2519
+ def squeeze!(*chars) self end
2520
+ ##% start_with?(String) -> Boolean
2521
+ def start_with?(str) BOOLEAN end
2522
+ ##% strip() -> String
2523
+ def strip() '' end
2524
+ ##% strip!() -> self
2525
+ def strip!() self end
2526
+ ##% sub(String or Regexp, String) -> String
2527
+ ##% sub(String or Regexp) {String -> ?} -> String
2528
+ ##% sub(String or Regexp) -> Enumerator<String, String>
2529
+ def sub(pattern, replace = nil) '' end
2530
+ ##% sub!(String or Regexp, String) -> self
2531
+ ##% sub!(String or Regexp) {String -> ?} -> self
2532
+ ##% sub!(String or Regexp) -> Enumerator<String, self>
2533
+ def sub!(pattern, replace = nil) self end
2534
+ ##% sum(?Integer) -> Integer
2535
+ def sum(bits = 16) 0 end
2536
+ ##% swapcase() -> String
2537
+ def swapcase() '' end
2538
+ ##% swapcase!() -> self
2539
+ def swapcase!() self end
2540
+ ##% to_f() -> Float
2541
+ def to_f() 0.0 end
2542
+ ##% to_i(?Integer) -> Integer
2543
+ def to_i(base = 10) 0 end
2544
+ ##% to_s() -> self
2545
+ def to_s() self end
2546
+ alias :to_str :to_s
2547
+ ##% tr(String, String) -> String
2548
+ def tr(pattern, replace) '' end
2549
+ ##% tr!(String, String) -> self
2550
+ def tr!(pattern, replace) self end
2551
+ ##% tr_s(String, String) -> String
2552
+ def tr_s(pattern, replace) '' end
2553
+ ##% tr_s!(String, String) -> self
2554
+ def tr_s!(pattern, replace) self end
2555
+ ##% unpack(String) -> Array
2556
+ def unpack(template) [] end
2557
+ ##% upcase() -> String
2558
+ def upcase() '' end
2559
+ ##% upcase!() -> self
2560
+ def upcase!() self end
2561
+ ##% upto(String, ?Boolean) {String -> ?} -> self
2562
+ def upto(max, exclusive = false) yield ''; self end
2563
+ end
2564
+
2565
+ class Struct
2566
+ # FIXME
2567
+ end
2568
+
2569
+ class Struct::Tms
2570
+ # FIXME
2571
+ end
2572
+
2573
+ class Symbol
2574
+ ##% self.all_symbols() -> Array<Symbol>
2575
+ def all_symbols() [:a] end
2576
+
2577
+ ##% id2name() -> String
2578
+ def id2name() '' end
2579
+ alias :to_s :id2name
2580
+ ##% inspect() -> String
2581
+ def inspect() '' end
2582
+ ##% to_i() -> Integer
2583
+ def to_i() 0 end
2584
+ alias :to_int :to_i
2585
+ ##% to_proc() -> Proc
2586
+ def to_proc() Proc.new end
2587
+ ##% to_sym() -> self
2588
+ def to_sym() self end
2589
+ end
2590
+
2591
+ class Thread
2592
+ ##% self.abort_on_exception() -> Boolean
2593
+ def self.abort_on_exception() BOOLEAN end
2594
+ ##% self.abort_on_exception=(Boolean) -> ?
2595
+ def self.abort_on_exception=(newstate) end
2596
+ ##% self.critical() -> Boolean
2597
+ def self.critical() BOOLEAN end
2598
+ ##% self.critical=(Boolean) -> ?
2599
+ def self.critical=(newstate) end
2600
+ ##% self.current() -> Thread
2601
+ def self.current() Thread.new {} end
2602
+ ##% self.exit() -> ?
2603
+ def self.exit() end
2604
+ ##% self.start(*a) {*a -> ?} -> Thread
2605
+ def self.start(*arg) yield *arg; Thread.current end
2606
+ ##% self.fork(*a) {*a -> ?} -> Thread
2607
+ def self.fork(*arg) yield *arg; Thread.current end
2608
+ ##% self.kill(Thread) -> Thread
2609
+ def self.kill(thread) thread end
2610
+ ##% self.list() -> [Thead]
2611
+ def self.list() [Thread.current] end
2612
+ ##% self.main() -> Thread
2613
+ def self.main() Thread.current end
2614
+ ##% self.new(*a) {*a -> ?} -> Thread
2615
+ def self.new(*arg) yield *arg; super() end
2616
+ ##% self.pass() -> nil
2617
+ def self.pass() nil end
2618
+ ##% self.stop() -> nil
2619
+ def self.stop() nil end
2620
+
2621
+ ##% [](Symbol or String) -> Object
2622
+ def [](name) Object.new end
2623
+ ##% []=(Symbol or String, a) -> a
2624
+ def []=(name, val) val end
2625
+ ##% abort_on_exception() -> Boolean
2626
+ def abort_on_exception() BOOLEAN end
2627
+ ##% abort_on_exception=(Boolean) -> ?
2628
+ def abort_on_exception=(newstate) end
2629
+ ##% alive?() -> Boolean
2630
+ def alive?() BOOLEAN end
2631
+ ##% exit() -> self
2632
+ def exit() self end
2633
+ alias :kill :exit
2634
+ alias :terminate :exit
2635
+ ##% exit!() -> self
2636
+ def exit!() self end
2637
+ alias :kill! :exit!
2638
+ alias :terminate! :exit!
2639
+ ##% group() -> ThreadGroup
2640
+ def group() ThreadGroup.new end
2641
+ ##% join() -> self
2642
+ ##% join(Numeric) -> self
2643
+ def join(limit = nil) self end
2644
+ ##% key?(Symbol or String) -> Boolean
2645
+ def key?(name) BOOLEAN end
2646
+ ##% keys() -> Array<Symbol>
2647
+ def keys() [:a] end
2648
+ ##% priority() -> Integer
2649
+ def priority() 0 end
2650
+ ##% priority=(Integer) -> nil
2651
+ def priority=(val) nil end
2652
+ ##% raise() -> nil
2653
+ ##% raise(String) -> nil
2654
+ ##% raise(?, ?String, Array<String>) -> nil
2655
+ def raise(*) end
2656
+ ##% run() -> self
2657
+ def run() self end
2658
+ ##% safe_level() -> Integer
2659
+ def safe_level() 0 end
2660
+ ##% status() -> String or FalseClass
2661
+ def status() '' || false end
2662
+ ##% stop?() -> Boolean
2663
+ def stop?() BOOLEAN end
2664
+ ##% value() -> Object
2665
+ def value() Object.new end
2666
+ ##% wakeup() -> self
2667
+ def wakeup() self end
2668
+ end
2669
+
2670
+ class ThreadGroup
2671
+ Default = ThreadGroup.new
2672
+
2673
+ ##% add(Thread) -> self
2674
+ def add(thread) self end
2675
+ ##% enclose() -> self
2676
+ def enclose() self end
2677
+ ##% enclosed?() -> Boolean
2678
+ def enclosed?() BOOLEAN end
2679
+ ##% list() -> Array<Thread>
2680
+ def list() [Thread.current] end
2681
+ end
2682
+
2683
+ class Time
2684
+ include Comparable
2685
+
2686
+ ##% self.at(Time or Integer, ?Integer) -> Time
2687
+ def self.at(time, usec) Time.new end
2688
+ ##% self.gm(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String) -> Time
2689
+ ##% self.gm(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, a, b, Boolean, c) -> Time
2690
+ def self.gm(*) Time.new end
2691
+ ##% self.utc(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String) -> Time
2692
+ ##% self.utc(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, a, b, Boolean, c) -> Time
2693
+ def self.utc(*) Time.new end
2694
+ ##% self.local(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String) -> Time
2695
+ ##% self.local(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, a, b, Boolean, c) -> Time
2696
+ def self.local(*) Time.new end
2697
+ ##% self.mktime(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String) -> Time
2698
+ ##% self.mktime(Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, Integer or String, a, b, Boolean, c) -> Time
2699
+ def self.mktime(*) Time.new end
2700
+ ##% self.now() -> Time
2701
+ def self.now() Time.new end
2702
+ ##% self.times() -> Struct::Tms
2703
+ def self.times() Struct::Tms.new end
2704
+
2705
+ ##% +(Integer) -> Time
2706
+ def +(other) Time.new end
2707
+ ##% -(Integer or Time) -> Time
2708
+ def -(other) Time.new end
2709
+ ##% "<=>"(Time) -> Fixnum
2710
+ def <=>(other) 0 end
2711
+ ##% asctime() -> String
2712
+ def asctime() '' end
2713
+ alias :ctime :asctime
2714
+ ##% mday() -> Integer
2715
+ def mday() 0 end
2716
+ alias :day :mday
2717
+ ##% isdst() -> Boolean
2718
+ def isdst() BOOLEAN end
2719
+ alias :dst? :isdst
2720
+ ##% eql?(Time) -> Boolean
2721
+ def eql?(other) BOOLEAN end
2722
+ ##% getgm() -> Time
2723
+ def getgm() Time.new end
2724
+ alias :getutc :getgm
2725
+ ##% getlocal() -> Time
2726
+ def getlocal() Time.new end
2727
+ ##% gmt?() -> Boolean
2728
+ def gmt?() BOOLEAN end
2729
+ alias :utc? :gmt?
2730
+ ##% utc_offset() -> Integer
2731
+ def utc_offset() 0 end
2732
+ alias :gmt_offset :utc_offset
2733
+ alias :gmtoff :utc_offset
2734
+ ##% gmtime() -> self
2735
+ def gmtime() self end
2736
+ ##% hour() -> Integer
2737
+ def hour() 0 end
2738
+ ##% localtime() -> self
2739
+ def localtime() self end
2740
+ ##% min() -> Integer
2741
+ def min() 0 end
2742
+ ##% mon() -> Integer
2743
+ def mon() 0 end
2744
+ alias :month :mon
2745
+ ##% sec() -> Integer
2746
+ def sec() 0 end
2747
+ ##% strftime(String) -> String
2748
+ def strftime(format) '' end
2749
+ ##% succ() -> Time
2750
+ def succ() Time.new end
2751
+ ##% to_a() -> (Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Boolean, String)
2752
+ def to_a() [0, 0, 0, 0, 0, 0, 0, 0, BOOLEAN, ''] end
2753
+ ##% to_f() -> Float
2754
+ def to_f() 0.0 end
2755
+ ##% to_i() -> Integer
2756
+ def to_i() 0 end
2757
+ alias :tv_sec :to_i
2758
+ ##% to_s() -> String
2759
+ def to_s() '' end
2760
+ ##% usec() -> Integer
2761
+ def usec() 0 end
2762
+ alias :tv_usec :usec
2763
+ ##% wday() -> Integer
2764
+ def wday() 0 end
2765
+ ##% yday() -> Integer
2766
+ def yda() 0 end
2767
+ ##% year() -> Integer
2768
+ def year() 0 end
2769
+ ##% zone() -> String
2770
+ def zone() '' end
2771
+ end
2772
+
2773
+ class TrueClass
2774
+ ##% &(a) -> Boolean
2775
+ def %(other) BOOLEAN end
2776
+ ##% ^(a) -> Boolean
2777
+ def ^(other) BOOLEAN end
2778
+ ##% to_s() -> String
2779
+ def to_s() '' end
2780
+ ##% "|"(a) -> Boolean
2781
+ def |(other) BOOLEAN end
2782
+ end
2783
+
2784
+ class UnboundMethod
2785
+ # FIXME
2786
+ end
2787
+
2788
+ class Exception; end
2789
+ class StandardError < Exception; end
2790
+ class IOError < StandardError; end
2791
+ class SystemCallError < StandardError; end
2792
+ class RangeError < StandardError; end
2793
+ class SignalException < Exception; end
2794
+ class ScriptError < Exception; end
2795
+
2796
+ class ArgumentError < StandardError; end
2797
+ class EOFError < IOError; end
2798
+ class Errno::E2BIG < SystemCallError; end
2799
+ class Errno::EACCES < SystemCallError; end
2800
+ class Errno::EADDRINUSE < SystemCallError; end
2801
+ class Errno::EADDRNOTAVAIL < SystemCallError; end
2802
+ class Errno::EADV < SystemCallError; end
2803
+ class Errno::EAFNOSUPPORT < SystemCallError; end
2804
+ class Errno::EAGAIN < SystemCallError; end
2805
+ class Errno::EALREADY < SystemCallError; end
2806
+ class Errno::EBADE < SystemCallError; end
2807
+ class Errno::EBADF < SystemCallError; end
2808
+ class Errno::EBADFD < SystemCallError; end
2809
+ class Errno::EBADMSG < SystemCallError; end
2810
+ class Errno::EBADR < SystemCallError; end
2811
+ class Errno::EBADRQC < SystemCallError; end
2812
+ class Errno::EBADSLT < SystemCallError; end
2813
+ class Errno::EBFONT < SystemCallError; end
2814
+ class Errno::EBUSY < SystemCallError; end
2815
+ class Errno::ECHILD < SystemCallError; end
2816
+ class Errno::ECHRNG < SystemCallError; end
2817
+ class Errno::ECOMM < SystemCallError; end
2818
+ class Errno::ECONNABORTED < SystemCallError; end
2819
+ class Errno::ECONNRESET < SystemCallError; end
2820
+ class Errno::EDEADLK < SystemCallError; end
2821
+ class Errno::EDEADLOCK < SystemCallError; end
2822
+ class Errno::EDESTADDRREQ < SystemCallError; end
2823
+ class Errno::EDOM < SystemCallError; end
2824
+ class Errno::EDOTDOT < SystemCallError; end
2825
+ class Errno::EDQUOT < SystemCallError; end
2826
+ class Errno::EEXIST < SystemCallError; end
2827
+ class Errno::EFAULT < SystemCallError; end
2828
+ class Errno::EFBIG < SystemCallError; end
2829
+ class Errno::EHOSTDOWN < SystemCallError; end
2830
+ class Errno::EHOSTUNREACH < SystemCallError; end
2831
+ class Errno::EIDRM < SystemCallError; end
2832
+ class Errno::EILSEQ < SystemCallError; end
2833
+ class Errno::EINPROGRESS < SystemCallError; end
2834
+ class Errno::EINTR < SystemCallError; end
2835
+ class Errno::EINVAL < SystemCallError; end
2836
+ class Errno::EIO < SystemCallError; end
2837
+ class Errno::EISCONN < SystemCallError; end
2838
+ class Errno::EISDIR < SystemCallError; end
2839
+ class Errno::EISNAM < SystemCallError; end
2840
+ class Errno::EL2HLT < SystemCallError; end
2841
+ class Errno::EL2NSYNC < SystemCallError; end
2842
+ class Errno::EL3HLT < SystemCallError; end
2843
+ class Errno::EL3RST < SystemCallError; end
2844
+ class Errno::ELIBACC < SystemCallError; end
2845
+ class Errno::ELIBBAD < SystemCallError; end
2846
+ class Errno::ELIBEXEC < SystemCallError; end
2847
+ class Errno::ELIBMAX < SystemCallError; end
2848
+ class Errno::ELIBSCN < SystemCallError; end
2849
+ class Errno::ELNRNG < SystemCallError; end
2850
+ class Errno::ELOOP < SystemCallError; end
2851
+ class Errno::EMFILE < SystemCallError; end
2852
+ class Errno::EMLINK < SystemCallError; end
2853
+ class Errno::EMSGSIZE < SystemCallError; end
2854
+ class Errno::EMULTIHOP < SystemCallError; end
2855
+ class Errno::ENAMETOOLONG < SystemCallError; end
2856
+ class Errno::ENAVAIL < SystemCallError; end
2857
+ class Errno::ENETDOWN < SystemCallError; end
2858
+ class Errno::ENETRESET < SystemCallError; end
2859
+ class Errno::ENETUNREACH < SystemCallError; end
2860
+ class Errno::ENFILE < SystemCallError; end
2861
+ class Errno::ENOANO < SystemCallError; end
2862
+ class Errno::ENOBUFS < SystemCallError; end
2863
+ class Errno::ENOCSI < SystemCallError; end
2864
+ class Errno::ENODATA < SystemCallError; end
2865
+ class Errno::ENODEV < SystemCallError; end
2866
+ class Errno::ENOENT < SystemCallError; end
2867
+ class Errno::ENOEXEC < SystemCallError; end
2868
+ class Errno::ENOLCK < SystemCallError; end
2869
+ class Errno::ENOLINK < SystemCallError; end
2870
+ class Errno::ENOMEM < SystemCallError; end
2871
+ class Errno::ENOMSG < SystemCallError; end
2872
+ class Errno::ENONET < SystemCallError; end
2873
+ class Errno::ENOPKG < SystemCallError; end
2874
+ class Errno::ENOPROTOOPT < SystemCallError; end
2875
+ class Errno::ENOSPC < SystemCallError; end
2876
+ class Errno::ENOSR < SystemCallError; end
2877
+ class Errno::ENOSTR < SystemCallError; end
2878
+ class Errno::ENOSYS < SystemCallError; end
2879
+ class Errno::ENOTBLK < SystemCallError; end
2880
+ class Errno::ENOTCONN < SystemCallError; end
2881
+ class Errno::ENOTDIR < SystemCallError; end
2882
+ class Errno::ENOTEMPTY < SystemCallError; end
2883
+ class Errno::ENOTNAM < SystemCallError; end
2884
+ class Errno::ENOTSOCK < SystemCallError; end
2885
+ class Errno::ENOTTY < SystemCallError; end
2886
+ class Errno::ENOTUNIQ < SystemCallError; end
2887
+ class Errno::ENXIO < SystemCallError; end
2888
+ class Errno::EOPNOTSUPP < SystemCallError; end
2889
+ class Errno::EOVERFLOW < SystemCallError; end
2890
+ class Errno::EPERM < SystemCallError; end
2891
+ class Errno::EPFNOSUPPORT < SystemCallError; end
2892
+ class Errno::EPIPE < SystemCallError; end
2893
+ class Errno::EPROTO < SystemCallError; end
2894
+ class Errno::EPROTONOSUPPORT < SystemCallError; end
2895
+ class Errno::EPROTOTYPE < SystemCallError; end
2896
+ class Errno::ERANGE < SystemCallError; end
2897
+ class Errno::EREMCHG < SystemCallError; end
2898
+ class Errno::EREMOTE < SystemCallError; end
2899
+ class Errno::EREMOTEIO < SystemCallError; end
2900
+ class Errno::ERESTART < SystemCallError; end
2901
+ class Errno::EROFS < SystemCallError; end
2902
+ class Errno::ERROR < SystemCallError; end
2903
+ class Errno::ESHUTDOWN < SystemCallError; end
2904
+ class Errno::ESOCKTNOSUPPORT < SystemCallError; end
2905
+ class Errno::ESPIPE < SystemCallError; end
2906
+ class Errno::ESRCH < SystemCallError; end
2907
+ class Errno::ESRMNT < SystemCallError; end
2908
+ class Errno::ESTALE < SystemCallError; end
2909
+ class Errno::ESTRPIPE < SystemCallError; end
2910
+ class Errno::ETIME < SystemCallError; end
2911
+ class Errno::ETIMEDOUT < SystemCallError; end
2912
+ class Errno::ETOOMANYREFS < SystemCallError; end
2913
+ class Errno::ETXTBSY < SystemCallError; end
2914
+ class Errno::EUCLEAN < SystemCallError; end
2915
+ class Errno::EUNATCH < SystemCallError; end
2916
+ class Errno::EUSERS < SystemCallError; end
2917
+ class Errno::EWOULDBLOCK < SystemCallError; end
2918
+ class Errno::EXDEV < SystemCallError; end
2919
+ class Errno::EXFULL < SystemCallError; end
2920
+ class Errno::EXXX < SystemCallError; end
2921
+
2922
+ class Exception
2923
+ ##% self.new(?String) -> Exception
2924
+ def self.new(error_message = nil) super() end
2925
+ ##% self.exception(?String) -> Exception
2926
+ def self.exception(error_message = nil) self.new(error_message) end
2927
+
2928
+ ##% backtrace() -> Array<String>
2929
+ def backtrace() [''] end
2930
+ ##% exception() -> self
2931
+ ##% exception(String) -> Exception
2932
+ def exception(error_message = nil) self end
2933
+ ##% message() -> String
2934
+ def message() '' end
2935
+ alias :to_s :message
2936
+ alias :to_str :message
2937
+ ##% set_backtrace(String or Array<String>) -> String or Array<String>
2938
+ def set_backtrace(errinfo) '' || [''] end
2939
+ end
2940
+
2941
+ class FloatDomainError < RangeError; end
2942
+ class IndexError < StandardError; end
2943
+ class Interrupt < SignalException; end
2944
+ class LoadError < ScriptError; end
2945
+
2946
+ class LocalJumpError < StandardError
2947
+ ##% exit_value() -> Object
2948
+ def exit_value() Object.new end
2949
+ ##% reason() -> Symbol
2950
+ def reason() :a end
2951
+ end
2952
+
2953
+ class NameError < StandardError
2954
+ ##% self.new(String) -> NameError
2955
+ def self.new(error_message) super() end
2956
+
2957
+ ##% name() -> Symbol
2958
+ def name() :a end
2959
+ ##% to_s() -> String
2960
+ def to_s() '' end
2961
+ end
2962
+
2963
+ class NoMemoryError < Exception; end
2964
+
2965
+ class NoMethodError < NameError
2966
+ ##% self.new(?String) -> Exception
2967
+ def self.new(error_message = nil) super() end
2968
+
2969
+ ##% args() -> Array<Object>
2970
+ def args() [Object.new] end
2971
+ end
2972
+
2973
+ class NotImplementedError < ScriptError; end
2974
+ class RangeError < StandardError; end
2975
+ class RegexpError < StandardError; end
2976
+ class RuntimeError < StandardError; end
2977
+ class ScriptError < Exception; end
2978
+ class SecurityError < StandardError; end
2979
+ class SignalException < Exception; end
2980
+ class StandardError < Exception; end
2981
+ class StopIteration < IndexError; end
2982
+ class SyntaxError < ScriptError; end
2983
+
2984
+ class SystemCallError < StandardError
2985
+ ##% self.new(String, ?Integer) -> SystemCallError
2986
+ ##% self.new(Integer) -> SystemCallError
2987
+ def self.new(*) super() end
2988
+
2989
+ ##% errono() -> Fixnum
2990
+ def errorno() 0 end
2991
+ end
2992
+
2993
+ class SystemExit < Exception
2994
+ ##% self.new(?Integer, ?String) -> SystemExit
2995
+ def self.new(status = 0, error_message = '') super() end
2996
+
2997
+ ##% status() -> Fixnum
2998
+ def status() 0 end
2999
+ ##% success?() -> Boolean
3000
+ def success?() BOOLEAN end
3001
+ end
3002
+
3003
+ class SystemStackError < StandardError; end
3004
+ class ThreadError < StandardError; end
3005
+ class TypeError < StandardError; end
3006
+ class ZeroDivisionError < StandardError; end