author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 16 Sep 2013 01:04:57 +0100 | |
branch | development |
changeset 2733 | 3d97124aebf5 |
parent 2732 | 7d1a1fb5b01a |
child 2735 | e20dd8496371 |
permissions | -rw-r--r-- |
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
1 |
package stx.libjava.tools.compiler; |
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
import java.util.HashMap; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
import java.util.Locale; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
import java.util.Map; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
import org.eclipse.jdt.internal.compiler.ClassFile; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
import org.eclipse.jdt.internal.compiler.CompilationResult; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
import org.eclipse.jdt.internal.compiler.DefaultErrorHandlingPolicies; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
import org.eclipse.jdt.internal.compiler.ICompilerRequestor; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
import org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
import org.eclipse.jdt.internal.compiler.IProblemFactory; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
import org.eclipse.jdt.internal.compiler.env.ICompilationUnit; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
import org.eclipse.jdt.internal.compiler.env.INameEnvironment; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
import org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
18 |
import stx.libjava.tools.Source; |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
19 |
import stx.libjava.tools.environment.Environment; |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
20 |
|
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
public class CompilerAdapter implements ICompilerRequestor { |
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
22 |
protected Environment environment; |
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
protected CompilationResult result; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
2488
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
25 |
public CompilerAdapter() { |
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
26 |
this(ClassLoader.getSystemClassLoader()); |
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
27 |
} |
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
28 |
|
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
29 |
public CompilerAdapter(ClassLoader cl) { |
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
30 |
environment = new Environment(cl); |
2488
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
31 |
} |
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
public CompilationResult getResult() { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
return result; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
|
2488
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
37 |
public ClassLoader getClassLoader() { |
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
38 |
return environment.getClassLoader(); |
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
39 |
} |
5395660e3366
Fixed ECJ compiler adapter to search classes using provided class loader.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2477
diff
changeset
|
40 |
|
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
/** |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
* Compiles classes in given source. The resulting .class files are added |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
* to an internal list which can be later retrieved by getClassFiles(). |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
* |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
* @param source source code of the class as String. |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
* @return true, if compilation succeeded, false otherwise. |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
*/ |
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
48 |
public boolean compile(String source) { |
2733
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
49 |
return compile(source, true); |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
50 |
} |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
51 |
|
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
52 |
/** |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
53 |
* Compiles classes in given source. The resulting .class files are added |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
54 |
* to an internal list which can be later retrieved by getClassFiles() - |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
55 |
* but only if @param generate is true. |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
56 |
* |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
57 |
* @param source source code of the class as String. |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
58 |
* @param generate if false, .class files are not generated (used to check source for errors) |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
59 |
* @return true, if compilation succeeded, false otherwise. |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
60 |
*/ |
3d97124aebf5
Fixes for syntax highlighting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2732
diff
changeset
|
61 |
public boolean compile(String source, boolean generate) { |
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
ICompilerRequestor requestor = this; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
IErrorHandlingPolicy policy = DefaultErrorHandlingPolicies.exitAfterAllProblems(); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
IProblemFactory problemFactory = new DefaultProblemFactory(Locale.getDefault()); |
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
65 |
Source[] units = new Source[1]; |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
66 |
units[0] = new Source(source); |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
67 |
units[0].setName(); |
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
org.eclipse.jdt.internal.compiler.Compiler compiler = new org.eclipse.jdt.internal.compiler.Compiler(environment, policy, getDefaultCompilerOptions(), requestor, problemFactory); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
compiler.compile(units); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
return getResult().hasErrors(); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
/** |
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
75 |
* Same as compile(String), for compatibility with old interface |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
76 |
* |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
77 |
* @deprecated |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
78 |
*/ |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
79 |
public boolean compile(String name, String source) { |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
80 |
return compile(source); |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
81 |
} |
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
82 |
|
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
83 |
/** |
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
* Returns a list of JavaClassFiles that contains results of the compilation. |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
* |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
* @return resulting class files |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
*/ |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
public ClassFile[] getClassFiles() { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
return getResult().getClassFiles(); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
public static Map<String, Object> getDefaultCompilerSettings() { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
String javaSpecVersion = System.getProperty("java.specification.version"); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
Map<String, Object> settings = new HashMap<String, Object>(); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
settings.put(CompilerOptions.OPTION_Source, javaSpecVersion); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
settings.put(CompilerOptions.OPTION_TargetPlatform, javaSpecVersion); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
settings.put(CompilerOptions.OPTION_ReportDeprecation, CompilerOptions.IGNORE); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
return settings; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
public static CompilerOptions getDefaultCompilerOptions() { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
return new CompilerOptions(getDefaultCompilerSettings()); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
@Override |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
public void acceptResult(CompilationResult result) { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
this.result = result; |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
for (ClassFile cf : this.result.getClassFiles()) { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
StringBuilder sb = new StringBuilder(); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
for (int i = 0; i < cf.getCompoundName().length; i++) { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
sb.append(cf.getCompoundName()[i]); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
if (i < cf.getCompoundName().length - 1) { |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
sb.append('.'); |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
} |
2728
658220e93dc9
Java package reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2488
diff
changeset
|
116 |
environment.types.put(sb.toString(), cf.getBytes()); |
2477
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
} |
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
|
6e37b62e21b5
Bufix in CompilerEnvironment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
} |