Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6342ef6a3 | ||
|
|
b83740a620 | ||
|
|
b714d5e4e4 | ||
|
|
c4365b0cb3 | ||
|
|
6eb1268718 | ||
|
|
200d373cb7 | ||
|
|
f05cf51b77 | ||
|
|
e1024fd185 | ||
|
|
e3910ee5f9 | ||
|
|
7ed82c2a70 | ||
|
|
7899f6637d | ||
|
|
a3c26f4a3e | ||
|
|
ea6b45b5df | ||
|
|
2c9258da22 | ||
|
|
7e0e06dca5 | ||
|
|
16fd02b032 | ||
|
|
178d5286da | ||
|
|
5146121caa | ||
|
|
614e75d706 | ||
|
|
cbac1114a4 | ||
|
|
8aeea822b9 | ||
|
|
5d96c868ac | ||
|
|
96b8fde1d8 | ||
|
|
85b24a1e01 | ||
|
|
bfa423b949 | ||
|
|
893a433aa7 | ||
|
|
3524d66639 | ||
|
|
3f3f90b577 | ||
|
|
af17f3b833 | ||
|
|
88a2903caf | ||
|
|
4154588caf | ||
|
|
9369c8455f | ||
|
|
aa7e2febec | ||
|
|
4e72cf7e15 | ||
|
|
683a618343 | ||
|
|
422985f01b | ||
|
|
9fd80e1abe | ||
|
|
485382e2aa | ||
|
|
b27cccdb9d | ||
|
|
8c69e067ec | ||
|
|
b09b2355e0 | ||
|
|
86532b948f | ||
|
|
3623229876 | ||
|
|
bac6279b26 | ||
|
|
050c108c28 | ||
|
|
bcf5bb4a5e | ||
|
|
9a77b83a8b | ||
|
|
fd449b0e5e | ||
|
|
803ba0955a | ||
|
|
086ed3a3d3 | ||
|
|
9af46ccc6c | ||
|
|
04aabdd005 | ||
|
|
15cf1e018b | ||
|
|
f32c555bc1 | ||
|
|
7e97becbcf | ||
|
|
21b58e214e | ||
|
|
16c4a56aa4 | ||
|
|
aa58fe1aa4 | ||
|
|
87e0136e5f | ||
|
|
3bdf5fb041 | ||
|
|
b66f3cb173 | ||
|
|
055c06d4c5 | ||
|
|
93605a0147 | ||
|
|
1c27f34918 | ||
|
|
96bd14dee1 | ||
|
|
90499c92cf | ||
|
|
cf95606462 | ||
|
|
05502078e1 | ||
|
|
95c9e4f6db | ||
|
|
619081a737 | ||
|
|
3f2b5c92a0 | ||
|
|
99ceeb79b4 | ||
|
|
bbf726c605 | ||
|
|
2987c9b361 | ||
|
|
48b574fccf | ||
|
|
15ae8d6bdb | ||
|
|
58710b4b86 | ||
|
|
d31b289c0d | ||
|
|
9c6e9f942a | ||
|
|
8218a855f7 | ||
|
|
9a26f1e6d4 | ||
|
|
6f8e619193 | ||
|
|
a2056ddf70 | ||
|
|
c988613837 | ||
|
|
cea7932ed4 | ||
|
|
05a5acaf64 | ||
|
|
774bf30237 | ||
|
|
824d4b7991 | ||
|
|
3818cc1def | ||
|
|
3905a70a59 | ||
|
|
e2870b5171 | ||
|
|
859f868f26 | ||
|
|
5b302bf3fa | ||
|
|
86f28be2b8 | ||
|
|
2eb37a49f6 | ||
|
|
797da683e5 | ||
|
|
da93cd3051 | ||
|
|
b0c8794ad0 | ||
|
|
025ad91b75 | ||
|
|
45833e5e1b | ||
|
|
51bb19097d | ||
|
|
2cee63dd71 | ||
|
|
c00b836e3c | ||
|
|
d83f96a5b4 | ||
|
|
9db81c02ce | ||
|
|
1084cdaf92 | ||
|
|
ae991ee51c | ||
|
|
1e727f453d | ||
|
|
77ff0d844f | ||
|
|
1b2631e578 | ||
|
|
2f60ecae3b | ||
|
|
44da67c6fb | ||
|
|
7cf2c8e678 | ||
|
|
9ab14f1f50 | ||
|
|
3368b0bc16 | ||
|
|
80070921d5 | ||
|
|
223a8a765c | ||
|
|
3ed3247931 | ||
|
|
537c3d10d3 | ||
|
|
55ff6e9425 | ||
|
|
52f0e25f7f | ||
|
|
061c17f5e8 | ||
|
|
e1fc3515a5 | ||
|
|
664168e298 | ||
|
|
2d1a88565e | ||
|
|
c8a2db74c9 | ||
|
|
c7b4dbcea1 | ||
|
|
ca002bd04d | ||
|
|
5e6a58a962 | ||
|
|
ebbd504e0f | ||
|
|
4bdeb795e7 | ||
|
|
3e849512f2 | ||
|
|
09f0e26cd5 | ||
|
|
62e13df4f2 | ||
|
|
75500584dd | ||
|
|
37e62ef92e | ||
|
|
ff64d03617 | ||
|
|
8c4c45aa5e | ||
|
|
803e9aa64e | ||
|
|
2843dfde8f | ||
|
|
fad44e2ee7 | ||
|
|
3067304024 | ||
|
|
91d458cc25 | ||
|
|
4b25cf7cea | ||
|
|
6152d3d67c | ||
|
|
59ea063e6e | ||
|
|
da71161dda | ||
|
|
6f12728575 | ||
|
|
41da8a746b | ||
|
|
32fba0e9b5 | ||
|
|
9a0ff6b2a1 | ||
|
|
8a1f941db1 | ||
|
|
688d706f3e | ||
|
|
19850fcdb6 | ||
|
|
d93540a274 | ||
|
|
30cf6f3baa | ||
|
|
75d3e4ed62 |
@@ -0,0 +1,17 @@
|
||||
# Specify the docker image to use (only used if using docker runners)
|
||||
# See: http://doc.gitlab.com/ee/ci/docker/using_docker_images.html
|
||||
image: debian:stable-slim
|
||||
|
||||
# Define commands that run before each job's script
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y make gcc g++ cmake
|
||||
|
||||
compile:
|
||||
script:
|
||||
- cd AStyle/
|
||||
- mkdir build_local && cd build_local
|
||||
- cmake .. && make
|
||||
- cd ../../AStyleTest/regression-sh/
|
||||
# Verify that our compiled app works properly with a custom "test" script
|
||||
- bash ./run_tests.sh
|
||||
@@ -1,5 +1,9 @@
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
cmake_policy(SET CMP0112 OLD)
|
||||
|
||||
if(CMAKE_VERSION VERSION_GREATER "3.19.0")
|
||||
cmake_policy(SET CMP0112 OLD)
|
||||
endif()
|
||||
|
||||
project(astyle CXX)
|
||||
|
||||
include( build/cmake/Options.cmake REQUIRED )
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ Instructions for using Artistic Style are included in the *doc* directory.
|
||||
The file **install.html** contains instructions for compiling and
|
||||
installing Artistic Style.
|
||||
|
||||
The file **astyle.html**' contains information on using Artistic Style.
|
||||
The file **astyle.html** contains information on using Artistic Style.
|
||||
|
||||
The files **news.html** and **notes.html** contain information on changes
|
||||
made to the various releases.
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
@@ -34,7 +34,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-g" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
@@ -51,7 +51,7 @@
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
@@ -34,7 +34,7 @@
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
@@ -34,7 +34,7 @@
|
||||
<Compiler>
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
@@ -59,7 +59,7 @@
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-g" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
@@ -34,7 +34,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DNDEBUG" />
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-g" />
|
||||
<Add option="-fno-rtti" />
|
||||
@@ -39,7 +39,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-g" />
|
||||
<Add option="-fno-rtti" />
|
||||
@@ -34,7 +34,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-g" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
@@ -31,7 +31,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DNDEBUG" />
|
||||
@@ -64,7 +64,7 @@
|
||||
<Add option="-pedantic" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-Wconversion" />
|
||||
@@ -92,7 +92,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-pg" />
|
||||
<Add option="-g" />
|
||||
<Add option="-fprofile-arcs" />
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<Add option="-g" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-DASTYLE_LIB" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
@@ -36,7 +36,7 @@
|
||||
<Add option="-Wall" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-wd11074,11076" />
|
||||
<Add option="-DNDEBUG" />
|
||||
<Add option="-DASTYLE_LIB" />
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<Add option="-g" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-DASTYLE_JNI" />
|
||||
<Add directory="/usr/lib/jvm/default-java/include" />
|
||||
@@ -39,7 +39,7 @@
|
||||
<Add option="-Wall" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-wd11074,11076" />
|
||||
<Add option="-DASTYLE_JNI" />
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-DASTYLE_LIB" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
@@ -38,7 +38,7 @@
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fPIC" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-wd11074,11076" />
|
||||
<Add option="-DASTYLE_LIB" />
|
||||
<Add option="-DDNDEBUG" />
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
@@ -32,7 +32,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-wd11074,11076" />
|
||||
<Add option="-DNDEBUG" />
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-g" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
@@ -45,7 +45,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-g" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
@@ -41,7 +41,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
<Compiler>
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-g" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fpic" />
|
||||
<Add option="-Wno-c++11-long-long" />
|
||||
<Add option="-Wno-c++17-long-long" />
|
||||
<Add option="-Wno-c++98-compat" />
|
||||
<Add option="-Wno-c++98-compat-pedantic" />
|
||||
<Add option="-Wno-exit-time-destructors" />
|
||||
@@ -48,12 +48,12 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fpic" />
|
||||
<Add option="-Wno-c++11-long-long" />
|
||||
<Add option="-Wno-c++17-long-long" />
|
||||
<Add option="-Wno-c++98-compat" />
|
||||
<Add option="-Wno-c++98-compat-pedantic" />
|
||||
<Add option="-Wno-exit-time-destructors" />
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-g" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
@@ -44,7 +44,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Weverything" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DASTYLE_LIB" />
|
||||
@@ -33,7 +33,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DNDEBUG" />
|
||||
@@ -71,7 +71,7 @@
|
||||
<Add option="-Wint-to-pointer-cast" />
|
||||
<Add option="-Woverloaded-virtual" />
|
||||
<Add option="-Wwrite-strings" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-DASTYLE_LIB" />
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DASTYLE_JNI" />
|
||||
@@ -35,7 +35,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DNDEBUG" />
|
||||
@@ -75,7 +75,7 @@
|
||||
<Add option="-Wint-to-pointer-cast" />
|
||||
<Add option="-Woverloaded-virtual" />
|
||||
<Add option="-Wwrite-strings" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-DASTYLE_JNI" />
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DASTYLE_LIB" />
|
||||
@@ -34,7 +34,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DNDEBUG" />
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
</Compiler>
|
||||
@@ -30,7 +30,7 @@
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-rtti" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-DNDEBUG" />
|
||||
@@ -66,7 +66,7 @@
|
||||
<Add option="-Wint-to-pointer-cast" />
|
||||
<Add option="-Woverloaded-virtual" />
|
||||
<Add option="-Wwrite-strings" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-fno-exceptions" />
|
||||
<Add option="-fno-rtti" />
|
||||
</Compiler>
|
||||
@@ -79,7 +79,7 @@
|
||||
<Compiler>
|
||||
<Add option="-Wextra" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++11" />
|
||||
<Add option="-std=c++17" />
|
||||
<Add option="-pg" />
|
||||
<Add option="-g" />
|
||||
<Add option="-fprofile-arcs" />
|
||||
|
||||
@@ -39,14 +39,14 @@ endif
|
||||
bindir = bin
|
||||
objdir = obj
|
||||
ipath=$(prefix)/bin
|
||||
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11
|
||||
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17
|
||||
JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
|
||||
INSTALL=install -o $(USER) -g $(USER)
|
||||
|
||||
# Library's major version number -- Increment in case of incompatible API
|
||||
# change.
|
||||
MAJORVER = 3
|
||||
# Library's minor version number -- Increment when functionnality is added in a
|
||||
# Library's minor version number -- Increment when functionality is added in a
|
||||
# backward-compatible manner; reset to 0 when major number changes.
|
||||
MINORVER = 2
|
||||
# Library's patch version number -- Increment in case of backward-compatible
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Set default compile options for supported compilers
|
||||
if(APPLE)
|
||||
target_compile_options( astyle PRIVATE -W -Wall -fno-rtti -fno-exceptions -std=c++11 -stdlib=libc++)
|
||||
target_compile_options( astyle PRIVATE -W -Wall -fno-rtti -fno-exceptions -std=c++17 -stdlib=libc++)
|
||||
elseif(NOT WIN32) # Linux
|
||||
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11)
|
||||
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17)
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "gnu")
|
||||
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
|
||||
if (NOT (GCC_VERSION VERSION_GREATER 4.6 OR GCC_VERSION VERSION_EQUAL 4.6))
|
||||
@@ -13,8 +13,8 @@ elseif(NOT WIN32) # Linux
|
||||
target_compile_options(astyle PRIVATE -wd11074,11076)
|
||||
endif()
|
||||
elseif(MINGW)
|
||||
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11)
|
||||
elseif(BORLAND) # Release must be explicitely requested for Borland
|
||||
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17)
|
||||
elseif(BORLAND) # Release must be explicitly requested for Borland
|
||||
target_compile_options(astyle PRIVATE -q -w -x-) # Cannot use no-rtti (-RT-)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -3,12 +3,21 @@
|
||||
# Default linux install prefix is /usr/local"
|
||||
# This may be modified by -DCMAKE_INSTALL_PREFIX=
|
||||
# Default Win32 install prefix is not used (C:/Program Files (x86))
|
||||
|
||||
option(INSTALL_DOC ON)
|
||||
|
||||
if(BUILD_SHARED_LIBS OR BUILD_STATIC_LIBS)
|
||||
if(NOT WIN32)
|
||||
install(TARGETS astyle DESTINATION lib)
|
||||
endif()
|
||||
else()
|
||||
if(WIN32)
|
||||
if(SKBUILD)
|
||||
install(TARGETS astyle DESTINATION "${SKBUILD_SCRIPTS_DIR}")
|
||||
if(INSTALL_DOC)
|
||||
install(FILES ${DOCS} DESTINATION "${SKBUILD_DATA_DIR}/share/doc/astyle/html")
|
||||
install(FILES ${MAN} DESTINATION "${SKBUILD_DATA_DIR}/share/man/man1")
|
||||
endif()
|
||||
elseif(WIN32)
|
||||
set(pf86 "PROGRAMFILES(x86)")
|
||||
set(prog_files $ENV{${pf86}})
|
||||
if(NOT ${prog_files})
|
||||
@@ -19,14 +28,18 @@ else()
|
||||
elseif(APPLE)
|
||||
# install to the default /usr/local/bin because of SIP restrictions
|
||||
install(TARGETS astyle DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
|
||||
if(INSTALL_DOC)
|
||||
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
|
||||
endif()
|
||||
else()
|
||||
# change default to /usr/bin, the same as package installs
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX "/usr")
|
||||
endif()
|
||||
install(TARGETS astyle DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
|
||||
INSTALL(FILES ${MAN} DESTINATION "${CMAKE_INSTALL_PREFIX}/man/man1")
|
||||
if(INSTALL_DOC)
|
||||
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
|
||||
install(FILES ${MAN} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -10,7 +10,7 @@ endif()
|
||||
|
||||
# Linux Soname Version
|
||||
set(MAJORVER 3)
|
||||
set(MINORVER 4)
|
||||
set(MINORVER 5)
|
||||
set(PATCHVER 0)
|
||||
set(SOLIBVER ${MAJORVER}.${MINORVER}.${PATCHVER})
|
||||
|
||||
|
||||
@@ -36,14 +36,14 @@ SYSCONF_PATH=$(prefix)/share/doc/astyle
|
||||
bindir = bin
|
||||
objdir = obj
|
||||
ipath=$(prefix)/bin
|
||||
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11
|
||||
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17
|
||||
JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
|
||||
INSTALL=install -o $(USER) -g $(USER)
|
||||
|
||||
# Library's major version number -- Increment in case of incompatible API
|
||||
# change.
|
||||
MAJORVER = 3
|
||||
# Library's minor version number -- Increment when functionnality is added in a
|
||||
# Library's minor version number -- Increment when functionality is added in a
|
||||
# backward-compatible manner; reset to 0 when major number changes.
|
||||
MINORVER = 2
|
||||
# Library's patch version number -- Increment in case of backward-compatible
|
||||
|
||||
@@ -49,14 +49,14 @@ endif
|
||||
bindir = bin
|
||||
objdir = obj
|
||||
ipath=$(prefix)/bin
|
||||
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11
|
||||
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17
|
||||
JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
|
||||
INSTALL=install -o $(USER) -g $(USER)
|
||||
|
||||
# Library's major version number -- Increment in case of incompatible API
|
||||
# change.
|
||||
MAJORVER = 3
|
||||
# Library's minor version number -- Increment when functionnality is added in a
|
||||
# Library's minor version number -- Increment when functionality is added in a
|
||||
# backward-compatible manner; reset to 0 when major number changes.
|
||||
MINORVER = 2
|
||||
# Library's patch version number -- Increment in case of backward-compatible
|
||||
|
||||
@@ -39,7 +39,7 @@ dynamiclib = -dynamiclib
|
||||
bindir = bin
|
||||
objdir = obj
|
||||
ipath=$(prefix)/bin
|
||||
CBASEFLAGS = -W -Wall -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions \
|
||||
CBASEFLAGS = -W -Wall -std=c++17 -stdlib=libc++ -fno-rtti -fno-exceptions \
|
||||
-mmacosx-version-min=10.9
|
||||
LDBASEFLAGS =
|
||||
JAVAINCS = -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include \
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28516.95
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle", "AStyle\AStyle.vcxproj", "{24189F85-8CB6-4993-8530-855BD6C8B70A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
Static|x64 = Static|x64
|
||||
Static|x86 = Static|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.Build.0 = Debug|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.Build.0 = Debug|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.ActiveCfg = Release|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.Build.0 = Release|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.ActiveCfg = Release|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.Build.0 = Release|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.ActiveCfg = Static|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.Build.0 = Static|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.ActiveCfg = Static|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.Build.0 = Static|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {C49A012F-6AB6-4660-B927-2AAF54D082AA}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28516.95
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Dll", "AStyle Dll\AStyle Dll.vcxproj", "{07229666-1841-4021-B206-1A8917985A66}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
Static|x64 = Static|x64
|
||||
Static|x86 = Static|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.Build.0 = Debug|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.Build.0 = Debug|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.ActiveCfg = Release|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.Build.0 = Release|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.ActiveCfg = Release|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.Build.0 = Release|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.ActiveCfg = Static|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.Build.0 = Static|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.ActiveCfg = Static|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.Build.0 = Static|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {71D57643-84DD-4750-89C3-6369BEA22324}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,279 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|Win32">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|x64">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{07229666-1841-4021-B206-1A8917985A66}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>AStyleDll</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)debug\</OutDir>
|
||||
<TargetName>AStyle32d</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
|
||||
<TargetName>AStyle32d</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\</OutDir>
|
||||
<TargetName>AStyle32</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)binstatic\</OutDir>
|
||||
<TargetName>AStyle32</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
|
||||
<TargetName>AStyle32</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
|
||||
<TargetName>AStyle32</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
|
||||
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
|
||||
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
|
||||
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
|
||||
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
|
||||
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
|
||||
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp" />
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\astyle.h" />
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\astyle.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28516.95
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Java", "AStyle Java\AStyle Java.vcxproj", "{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
Static|x64 = Static|x64
|
||||
Static|x86 = Static|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.Build.0 = Debug|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.Build.0 = Debug|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.ActiveCfg = Release|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.Build.0 = Release|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.ActiveCfg = Release|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.Build.0 = Release|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.ActiveCfg = Static|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.Build.0 = Static|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.ActiveCfg = Static|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.Build.0 = Static|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {A4619C60-3409-478F-B944-70443175BDEB}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,285 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|Win32">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|x64">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>AStyleJava</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)debug\</OutDir>
|
||||
<TargetName>AStyle32jd</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
|
||||
<TargetName>AStyle32jd</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\</OutDir>
|
||||
<TargetName>AStyle32j</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)binstatic\</OutDir>
|
||||
<TargetName>AStyle32j</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
|
||||
<TargetName>AStyle32j</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
|
||||
<TargetName>AStyle32j</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;ASTYLE_JNI</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
|
||||
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
|
||||
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;ASTYLE_JNI</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
|
||||
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
|
||||
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
|
||||
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
|
||||
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>No</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp" />
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\astyle.h" />
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\astyle.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28516.95
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Lib", "AStyle Lib\AStyle Lib.vcxproj", "{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
Static|x64 = Static|x64
|
||||
Static|x86 = Static|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.Build.0 = Debug|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.ActiveCfg = Release|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.Build.0 = Release|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.Build.0 = Release|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.ActiveCfg = Static|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.Build.0 = Static|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.ActiveCfg = Static|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.Build.0 = Static|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {9A55493F-97EF-4723-B937-B41EBB84F52B}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,266 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|Win32">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|x64">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>AStyleLib</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)debug\</OutDir>
|
||||
<TargetName>AStyleLibd</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
|
||||
<TargetName>AStyleLibd</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)bin\</OutDir>
|
||||
<TargetName>AStyleLib</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<OutDir>$(SolutionDir)binstatic\</OutDir>
|
||||
<TargetName>AStyleLib</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
|
||||
<TargetName>AStyleLib</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
|
||||
<TargetName>AStyleLib</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp" />
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\astyle.h" />
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\astyle.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,285 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|Win32">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Static|x64">
|
||||
<Configuration>Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{24189F85-8CB6-4993-8530-855BD6C8B70A}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>AStyle</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)debug\</OutDir>
|
||||
<TargetName>AStyled</TargetName>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
<EnableCppCoreCheck>true</EnableCppCoreCheck>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
|
||||
<TargetName>AStyled</TargetName>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
<EnableCppCoreCheck>true</EnableCppCoreCheck>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)bin\</OutDir>
|
||||
<TargetName>AStyle</TargetName>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
<EnableCppCoreCheck>true</EnableCppCoreCheck>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)binstatic\</OutDir>
|
||||
<TargetName>AStyle</TargetName>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
<EnableCppCoreCheck>true</EnableCppCoreCheck>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
|
||||
<TargetName>AStyle</TargetName>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
<EnableCppCoreCheck>true</EnableCppCoreCheck>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
|
||||
<TargetName>AStyle</TargetName>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
<EnableCppCoreCheck>true</EnableCppCoreCheck>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>_DEBUG</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalOptions>/utf-8</AdditionalOptions>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<EnablePREfast>false</EnablePREfast>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>_DEBUG</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalOptions>/utf-8</AdditionalOptions>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<EnablePREfast>false</EnablePREfast>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<AdditionalOptions>/utf-8</AdditionalOptions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<EnablePREfast>false</EnablePREfast>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<AdditionalOptions>/utf-8</AdditionalOptions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<EnablePREfast>false</EnablePREfast>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<AdditionalOptions>/utf-8</AdditionalOptions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<EnablePREfast>false</EnablePREfast>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<AdditionalOptions>/utf-8</AdditionalOptions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<EnablePREfast>false</EnablePREfast>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASLocalizer.cpp" />
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp" />
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\ASLocalizer.h" />
|
||||
<ClInclude Include="..\..\..\src\astyle.h" />
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASLocalizer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\ASResource.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\astyle_main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\ASLocalizer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\src\astyle.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\src\astyle_main.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,79 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28516.95
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle", "AStyle\AStyle.vcxproj", "{24189F85-8CB6-4993-8530-855BD6C8B70A}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Dll", "AStyle Dll\AStyle Dll.vcxproj", "{07229666-1841-4021-B206-1A8917985A66}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Java", "AStyle Java\AStyle Java.vcxproj", "{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Lib", "AStyle Lib\AStyle Lib.vcxproj", "{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
Static|x64 = Static|x64
|
||||
Static|x86 = Static|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.Build.0 = Debug|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.Build.0 = Debug|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.ActiveCfg = Release|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.Build.0 = Release|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.ActiveCfg = Release|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.Build.0 = Release|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.ActiveCfg = Static|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.Build.0 = Static|x64
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.ActiveCfg = Static|Win32
|
||||
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.Build.0 = Static|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.Build.0 = Debug|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.Build.0 = Debug|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.ActiveCfg = Release|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.Build.0 = Release|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.ActiveCfg = Release|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.Build.0 = Release|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.ActiveCfg = Static|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.Build.0 = Static|x64
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.ActiveCfg = Static|Win32
|
||||
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.Build.0 = Static|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.Build.0 = Debug|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.Build.0 = Debug|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.ActiveCfg = Release|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.Build.0 = Release|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.ActiveCfg = Release|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.Build.0 = Release|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.ActiveCfg = Static|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.Build.0 = Static|x64
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.ActiveCfg = Static|Win32
|
||||
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.Build.0 = Static|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.Build.0 = Debug|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.ActiveCfg = Release|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.Build.0 = Release|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.Build.0 = Release|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.ActiveCfg = Static|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.Build.0 = Static|x64
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.ActiveCfg = Static|Win32
|
||||
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.Build.0 = Static|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {33934F68-90BE-4D0F-B5D0-5EEF8F43412D}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -53,7 +53,7 @@ if [ ! -f install.sh ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# remove previous documentaion
|
||||
# remove previous documentation
|
||||
echo $CYAN
|
||||
echo "Installing documentation to $SYSCONF_PATH"
|
||||
echo -n $YELLOW
|
||||
@@ -61,12 +61,12 @@ if [ -d $SYSCONF_PATH/html ]; then
|
||||
rm -rf $SYSCONF_PATH/html
|
||||
result=$?; check_error
|
||||
fi
|
||||
# create documentaion install directory
|
||||
# create documentation install directory
|
||||
if [ ! -d $SYSCONF_PATH/html ]; then
|
||||
$INSTALL -m 755 -d $SYSCONF_PATH/html
|
||||
result=$?; check_error
|
||||
fi
|
||||
# copy documentaion
|
||||
# copy documentation
|
||||
for files in astyle.html \
|
||||
install.html \
|
||||
news.html \
|
||||
|
||||
+178
-126
@@ -1,8 +1,11 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
|
||||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<title>Artistic Style</title>
|
||||
<meta http-equiv="Content-Language" content="en-us" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
|
||||
@@ -60,14 +63,17 @@
|
||||
|
||||
<button onclick="topFunction()" id="topBtn" title="Go to Contents"><b>Top</b></button>
|
||||
|
||||
<h1>Artistic Style 3.3</h1>
|
||||
<h1>Artistic Style</h1>
|
||||
|
||||
<h2>
|
||||
A Free, Fast, and Small Automatic Formatter<br />
|
||||
for C, C++, C++/CLI, Objective-C, C#, and Java Source Code
|
||||
for C, C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>, C#, and Java Source Code
|
||||
</h2>
|
||||
|
||||
<h3 id="Contents">Contents</h3>
|
||||
|
||||
<div style="float: left; background-color: #fbfaef;padding: 2em;">
|
||||
|
||||
<h3 id="Contents" style="margin-top: 0em;">Contents</h3>
|
||||
|
||||
<p class="contents1">
|
||||
<a href="#_General_Information">General Information</a></p>
|
||||
@@ -111,7 +117,7 @@
|
||||
<a class="contents" href="#_indent=spaces">indent=spaces</a>
|
||||
<a class="contents" href="#_indent=tab">indent=tab</a>
|
||||
<a class="contents" href="#_indent=force-tab">indent=force-tab</a>
|
||||
<a class="contents" href="#_indent=force-tab-x">--indent=force-tab-x</a>
|
||||
<a class="contents" href="#_indent=force-tab-x">indent=force-tab-x</a>
|
||||
</p>
|
||||
<p class="contents1">
|
||||
<a href="#_Brace_Modify_Options">Brace Modify Options</a></p>
|
||||
@@ -139,7 +145,7 @@
|
||||
<a class="contents" href="#_indent-col1-comments">indent-col1-comments</a>
|
||||
<a class="contents" href="#_min-conditional-indent">min-conditional-indent</a>
|
||||
<a class="contents" href="#_max-continuation-indent">max-continuation-indent</a>
|
||||
<a class="contents" href="#_lambda_indent">lambda-indent</a>
|
||||
<a class="contents" href="#_indent_lambda">indent-lambda</a>
|
||||
|
||||
</p>
|
||||
<p class="contents1">
|
||||
@@ -149,13 +155,18 @@
|
||||
<a class="contents" href="#_break-blocks=all">break-blocks=all</a>
|
||||
<a class="contents" href="#_pad-oper">pad-oper</a>
|
||||
<a class="contents" href="#_pad-comma">pad-comma</a>
|
||||
<a class="contents" href="#_pad-negation">pad-negation</a>
|
||||
<a class="contents" href="#_pad-include">pad-include</a>
|
||||
<a class="contents" href="#_pad-paren">pad-paren</a>
|
||||
<a class="contents" href="#_pad-paren-out">pad-paren-out</a>
|
||||
<a class="contents" href="#_pad-first-paren-out">pad-first-paren-out</a>
|
||||
<a class="contents" href="#_pad-paren-in">pad-paren-in</a>
|
||||
<a class="contents" href="#_pad-header">pad-header</a>
|
||||
<a class="contents" href="#_unpad-paren">unpad-paren</a>
|
||||
<a class="contents" href="#_pad-empty-paren">pad-empty-paren</a>
|
||||
<a class="contents" href="#_pad-brackets">pad-brackets</a>
|
||||
<a class="contents" href="#_pad-brackets-in">pad-brackets-in</a>
|
||||
<a class="contents" href="#_pad-brackets-out">pad-brackets-out</a>
|
||||
<a class="contents" href="#_unpad-brackets">unpad-brackets</a>
|
||||
<a class="contents" href="#_delete-empty-lines">delete-empty-lines</a>
|
||||
<a class="contents" href="#_fill-empty-lines">fill-empty-lines</a>
|
||||
@@ -185,7 +196,7 @@
|
||||
<a class="contents" href="#_mode">mode</a>
|
||||
</p>
|
||||
<p class="contents1">
|
||||
<a href="#_Objective_C_Options">Objective-C Options</a></p>
|
||||
<a href="#_Objective_C_Options"><span style="white-space: nowrap;">Objective-C</span> Options</a></p>
|
||||
<p class="contents2">
|
||||
<a class="contents" href="#_pad-method-prefix">pad-method-prefix</a>
|
||||
<a class="contents" href="#_unpad-method-prefix">unpad-method-prefix</a>
|
||||
@@ -225,11 +236,10 @@
|
||||
<a class="contents" href="#_stdin=">stdin=</a>
|
||||
<a class="contents" href="#_stdout=">stdout=</a>
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * General Information< * * * * * * * * * * * * -->
|
||||
</div>
|
||||
|
||||
<div style="float: right; width: 65%; margin-top: 0em;">
|
||||
|
||||
<h3 id="_General_Information">General Information</h3>
|
||||
|
||||
@@ -243,7 +253,7 @@
|
||||
|
||||
<p>
|
||||
Artistic Style will determine the file type from the file extension. The extension ".java" indicates a Java file,
|
||||
and ".cs" indicates a C# file. Everything else is a C type file (C, C++, C++/CLI, or Objective-C). If you are
|
||||
and ".cs" indicates a C# file. Everything else is a C type file (C, C++, C++/CLI, or <span style="white-space: nowrap;">Objective-C</span>). If you are
|
||||
using a non-standard file extension for Java or C#, use one of the --mode= options.</p>
|
||||
|
||||
<h4>Wildcards and Recursion</h4>
|
||||
@@ -324,11 +334,6 @@
|
||||
from the definition. If you have source code with these types of statements, exclude them with the
|
||||
<a href="#_exclude">exclude=####</a> option described in the <a href="#_Other_Options">Other Options</a>
|
||||
section.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * * Quick Start * * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Quick_Start">Quick Start</h3>
|
||||
|
||||
@@ -352,11 +357,6 @@
|
||||
the file name. </p>
|
||||
<p>
|
||||
Once you are familiar with the options you can customize the format to your personal preference.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * * * Usage * * * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Usage">Usage</h3>
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
<h4>Redirection</h4>
|
||||
|
||||
<p>
|
||||
The < and > characters may be used to redirect the files into standard input (stdin) and out of standard output
|
||||
The < and > characters may be used to redirect the files into standard input (stdin) and out of standard output
|
||||
(stdout) - don't forget them! With this option, only one file at a time can be formatted. Wildcards are not
|
||||
recognized, there are no console messages, and a backup is not created. On Windows, the output will always have
|
||||
Windows line ends. The options "stdin=" and "stdout=" can be used instead of redirection.</p>
|
||||
@@ -413,17 +413,13 @@
|
||||
<pre>astyle --style=allman --stdin=<em>OriginalSourceFile</em> --stdout=<em>BeautifiedSourceFile</em>
|
||||
</pre>
|
||||
</div>
|
||||
<div class="code">
|
||||
|
||||
<div class="code" style="margin-top:1em">
|
||||
<p class="code">
|
||||
The redirection option may be used to display the formatted file without updating:</p>
|
||||
<pre>astyle --style=allman < <em>OriginalSourceFile</em> | less
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * * * Options * * * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Options">Options</h3>
|
||||
|
||||
@@ -444,11 +440,6 @@
|
||||
<p>
|
||||
These options start with a single '<strong>-</strong>', and may be concatenated together.<br />
|
||||
(Example: '-bps4' is the same as writing '-b -p -s4'.)</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * * Options File * * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Option_Files">Option Files</h3>
|
||||
|
||||
@@ -515,12 +506,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
|
||||
<span class="comment"># short options can be concatenated together</span>
|
||||
-M60Ucv</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * Disable Formatting * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Disable_Formatting">Disable Formatting</h3>
|
||||
|
||||
@@ -568,11 +553,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
|
||||
The following prevents the operator padding from changing:</p>
|
||||
<pre>size_t foo = (unsigned int) -1; <span class="comment">// *NOPAD*</span></pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * Basic Brace Styles * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Basic_Brace_Styles">Basic Brace Styles</h3>
|
||||
|
||||
@@ -598,12 +578,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
|
||||
Style you can easily modify source code to suit your
|
||||
preference.</p>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
|
||||
<!-- * * * * * * * * * * * * Brace Style Options * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Brace_Style_Options">Brace Style Options</h3>
|
||||
|
||||
@@ -915,17 +889,12 @@ indent-switches <span class="comment"># cannot do this on the command line</
|
||||
<div class="code">
|
||||
<pre>int Foo(bool isBar) <span class="brace">{</span>
|
||||
if (isBar) <span class="brace">{
|
||||
</span> bar()
|
||||
</span> bar();
|
||||
return 1; <span class="brace">}
|
||||
</span> else
|
||||
return 0; <span class="brace">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * * * Tab Options * * * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Tab_Options">Tab Options</h3>
|
||||
|
||||
@@ -1032,11 +1001,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
|
||||
<span class="brace">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * Brace Modify Options * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Brace_Modify_Options">Brace Modify Options</h3>
|
||||
|
||||
@@ -1128,11 +1092,6 @@ while x == 1;
|
||||
<span class="brace">}</span> while x == 1;
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * Indentation Options * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Indentation_Options">Indentation Options</h3>
|
||||
|
||||
@@ -1544,8 +1503,8 @@ fooFunction(barArg1,
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p id="_lambda_indent">
|
||||
<code class="title">--lambda-indent</code><br />
|
||||
<p id="_indent_lambda">
|
||||
<code class="title">--indent-lambda</code><br />
|
||||
This option improves indentation of C++ lambda functions. As it currently does not work well with complex lambda function bodies, this feature is not enabled by default.
|
||||
</p>
|
||||
|
||||
@@ -1575,11 +1534,6 @@ fooFunction(barArg1,
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * Padding Options * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Padding_Options">Padding Options</h3>
|
||||
|
||||
@@ -1670,6 +1624,77 @@ isBar = false;
|
||||
bar(a, b);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p id="_pad-include">
|
||||
<code class="title">--pad-include</code><br />
|
||||
Insert space padding after include directives.
|
||||
</p>
|
||||
<div class="code">
|
||||
<pre>#include<stdio>
|
||||
#include <iostream>
|
||||
</pre>
|
||||
<p class="code">
|
||||
becomes:</p>
|
||||
<pre>#include <stdio>
|
||||
#include <iostream>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p id="_pad-include">
|
||||
<code class="title">--pad-include=none</code><br />
|
||||
Insert space padding after include directives.
|
||||
</p>
|
||||
<div class="code">
|
||||
<pre>#include<stdio>
|
||||
#include <iostream>
|
||||
</pre>
|
||||
<p class="code">
|
||||
becomes:</p>
|
||||
<pre>#include<stdio>
|
||||
#include<iostream>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p id="_pad-negation">
|
||||
<code class="title">--pad-negation</code><br />
|
||||
Insert space padding after negations.
|
||||
</p>
|
||||
<div class="code">
|
||||
<pre>if (!isFoo(a,b))
|
||||
bar(a,b);
|
||||
</pre>
|
||||
<p class="code">
|
||||
becomes:</p>
|
||||
<pre>if (! isFoo(a, b))
|
||||
bar(a, b);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p id="_pad-negation">
|
||||
<code class="title">--pad-negation=before</code><br />
|
||||
Insert space padding also before negations.
|
||||
</p>
|
||||
<div class="code">
|
||||
<pre>if (!isFoo(a,b))
|
||||
bar(a,b);
|
||||
</pre>
|
||||
<p class="code">
|
||||
becomes:</p>
|
||||
<pre>if ( ! isFoo(a, b))
|
||||
bar(a, b);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p id="_pad-paren">
|
||||
@@ -1786,6 +1811,25 @@ isBar = false;
|
||||
</div>
|
||||
|
||||
|
||||
<p id="_pad-empty-paren">
|
||||
<code class="title">--pad-empty-paren / -xo </code>
|
||||
<br />
|
||||
Apply padding to empty pairs of parentheses; combine with other
|
||||
parentheses padding options.
|
||||
</p>
|
||||
<div class="code">
|
||||
<pre>if (isFoo())
|
||||
bar(a, b);
|
||||
</pre>
|
||||
<p class="code">
|
||||
becomes:</p>
|
||||
<pre>if ( isFoo () )
|
||||
bar( a, b );
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
|
||||
<p id="_pad-brackets">
|
||||
<code class="title">--pad-brackets</code>
|
||||
<br />
|
||||
@@ -1798,6 +1842,31 @@ isBar = false;
|
||||
<pre>a = b [ a [ 1 ] ];</pre>
|
||||
</div>
|
||||
|
||||
<p id="_pad-brackets-in">
|
||||
<code class="title">--pad-brackets-in</code>
|
||||
<br />
|
||||
Insert space padding around square brackets the <strong>inside</strong> only.
|
||||
</p>
|
||||
<div class="code">
|
||||
<pre>a = b[a[1]];</pre>
|
||||
<p class="code">
|
||||
becomes:</p>
|
||||
<pre>a = b[ a[ 1 ] ];</pre>
|
||||
</div>
|
||||
|
||||
<p id="_pad-brackets-out">
|
||||
<code class="title">--pad-brackets-out</code>
|
||||
<br />
|
||||
Insert space padding around square brackets the <strong>outside</strong> only.
|
||||
</p>
|
||||
<div class="code">
|
||||
<pre>a = b[a[1]];</pre>
|
||||
<p class="code">
|
||||
becomes:</p>
|
||||
<pre>a = b [a [1]];</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<p id="_unpad-brackets">
|
||||
<code class="title">--unpad-brackets</code>
|
||||
<br />
|
||||
@@ -1916,7 +1985,7 @@ string ^s1;</pre>
|
||||
char& foo2;
|
||||
string^ s1;</pre>
|
||||
</div>
|
||||
<div class="code">
|
||||
<div class="code" style="margin-top:1em">
|
||||
<pre>char* foo1;
|
||||
char & foo2;
|
||||
string ^s1;</pre>
|
||||
@@ -1926,7 +1995,7 @@ string ^s1;</pre>
|
||||
char & foo2;
|
||||
string ^ s1;</pre>
|
||||
</div>
|
||||
<div class="code">
|
||||
<div class="code" style="margin-top:1em">
|
||||
<pre>char* foo1;
|
||||
char & foo2;
|
||||
string ^s1;</pre>
|
||||
@@ -1954,23 +2023,18 @@ string ^s1;</pre>
|
||||
becomes (with align-reference=type):</p>
|
||||
<pre>char& foo1;</pre>
|
||||
</div>
|
||||
<div class="code">
|
||||
<div class="code" style="margin-top:1em">
|
||||
<pre>char& foo2;</pre>
|
||||
<p class="code">
|
||||
becomes (with align-reference=middle):</p>
|
||||
<pre>char & foo2;</pre>
|
||||
</div>
|
||||
<div class="code">
|
||||
<pre>char& foo3;</pre>
|
||||
<div class="code" style="margin-top:1em">
|
||||
<pre>char& foo3;</pre>
|
||||
<p class="code">
|
||||
becomes (with align-reference=name):</p>
|
||||
<pre>char &foo3;</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * * Formatting Options * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Formatting_Options">Formatting Options</h3>
|
||||
|
||||
@@ -2126,11 +2190,11 @@ else
|
||||
<p>
|
||||
</p>
|
||||
<p id="_break-return-type">
|
||||
<code class="title">--break-return-type / -xB</code><br />
|
||||
<code class="title">--break-return-type / -xB</code><br />
|
||||
<code class="title">--break-return-type-decl / -xD</code><br />
|
||||
Break the return type from the function name. The two options are for the function definitions (-xB), and the
|
||||
function declarations or signatures (-xD). If used with --attach-return-type, the result will be to break the
|
||||
return type. This option has no effect on Objective-C functions.</p>
|
||||
return type. This option has no effect on <span style="white-space: nowrap;">Objective-C</span> functions.</p>
|
||||
<div class="code">
|
||||
<pre>void Foo(bool isFoo);</pre>
|
||||
<p class="code">
|
||||
@@ -2141,12 +2205,12 @@ Foo(bool isFoo);</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p id="_attach-return-type">
|
||||
<code class="title">--attach-return-type / -xf</code><br />
|
||||
<code class="title">--attach-return-type / -xf</code><br />
|
||||
<code class="title">--attach-return-type-decl / -xh</code><br />
|
||||
Attach the return type to the function name. The two options are for the function definitions (-xf), and the
|
||||
function declarations or signatures (-xh). They are intended to undo the --break-return-type options. If used
|
||||
with --break-return-type, the result will be to break the return type. This option has no effect on
|
||||
Objective-C functions.</p>
|
||||
<span style="white-space: nowrap;">Objective-C</span> functions.</p>
|
||||
<div class="code">
|
||||
<pre>void
|
||||
Foo(bool isFoo);</pre>
|
||||
@@ -2268,28 +2332,28 @@ Foo(bool isFoo);</pre>
|
||||
<code class="title">--mode=js</code><br />
|
||||
<code class="title">--mode=java</code><br />
|
||||
<code class="title">--mode=objc</code><br />
|
||||
Indent a C type, C#, Javascript, Java or Objective-C file. C type files are C, C++, C++/CLI. The option is usually
|
||||
set from the file extension for each file. You can override the setting with this entry. It will be used for all
|
||||
files, regardless of the file extension. It allows the formatter to identify language specific syntax such as
|
||||
C++ classes, templates, and keywords.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
<code class="title">--mode=js <i>(experimental)</i></code><br />
|
||||
<code class="title">--mode=ghc <i>(experimental)</i></code><br />
|
||||
<code class="title">--mode=gsc <i>(experimental)</i></code><br />
|
||||
Indent a C type, C#, Javascript, Java or <span style="white-space: nowrap;">Objective-C</span> file.
|
||||
The other listed modes are experimental.<br>
|
||||
C type files are C, C++, C++/CLI. The option is usually set from the file extension for each file.
|
||||
You can override the setting with this entry. It will be used for all files, regardless of the file extension.
|
||||
It allows the formatter to identify language specific syntax such as C++ classes, templates, and keywords.
|
||||
</p>
|
||||
|
||||
<!-- * * * * * * * * * * * * * Objective-C Options * * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Objective_C_Options">Objective-C Options</h3>
|
||||
<h3 id="_Objective_C_Options"><span style="white-space: nowrap;">Objective-C</span> Options</h3>
|
||||
|
||||
<p>
|
||||
These options are effective for Objective-C files only. The standard paren padding options will still apply
|
||||
to the Objective-C method prefix and return type unless overridden by the following options.</p>
|
||||
These options are effective for <span style="white-space: nowrap;">Objective-C</span> files only. The standard paren padding options will still apply
|
||||
to the <span style="white-space: nowrap;">Objective-C</span> method prefix and return type unless overridden by the following options.</p>
|
||||
<p>
|
||||
Because of the longer indents sometimes needed for Objective-C, the option "max-continuation-indent" may
|
||||
Because of the longer indents sometimes needed for <span style="white-space: nowrap;">Objective-C</span>, the option "max-continuation-indent" may
|
||||
need to be increased. If you are not getting the paren and square bracket alignment you want, try increasing
|
||||
this value. The option is described in the "Indentation Options" section.</p>
|
||||
<p id="_pad-method-prefix">
|
||||
<code class="title">--pad-method-prefix / -xQ</code><br />
|
||||
Insert space padding <strong>after</strong> the '-' or '+' Objective-C method prefix. This will add
|
||||
Insert space padding <strong>after</strong> the '-' or '+' <span style="white-space: nowrap;">Objective-C</span> method prefix. This will add
|
||||
exactly one space. Any additional spaces will be deleted.</p>
|
||||
<div class="code">
|
||||
<pre>-(void)foo1;
|
||||
@@ -2303,7 +2367,7 @@ Foo(bool isFoo);</pre>
|
||||
</p>
|
||||
<p id="_unpad-method-prefix">
|
||||
<code class="title">--unpad-method-prefix / -xR</code><br />
|
||||
Remove all space padding <strong>after</strong> the '-' or '+' Objective-C method prefix.
|
||||
Remove all space padding <strong>after</strong> the '-' or '+' <span style="white-space: nowrap;">Objective-C</span> method prefix.
|
||||
This option will be ignored if used with pad-method-prefix. This option takes precedence over the
|
||||
pad paren outside option.</p>
|
||||
<div class="code">
|
||||
@@ -2318,7 +2382,7 @@ Foo(bool isFoo);</pre>
|
||||
</p>
|
||||
<p id="_pad-return-type">
|
||||
<code class="title">--pad-return-type / -xq</code><br />
|
||||
Insert space padding <strong>after</strong> the Objective-C return type. This will add exactly one
|
||||
Insert space padding <strong>after</strong> the <span style="white-space: nowrap;">Objective-C</span> return type. This will add exactly one
|
||||
space. Any additional spaces will be deleted. </p>
|
||||
<div class="code">
|
||||
<pre>-(void)foo1;
|
||||
@@ -2332,7 +2396,7 @@ Foo(bool isFoo);</pre>
|
||||
</p>
|
||||
<p id="_unpad-return-type">
|
||||
<code class="title">--unpad-return-type / -xr</code><br />
|
||||
Remove all space padding <strong>after</strong> the Objective-C return type. This option
|
||||
Remove all space padding <strong>after</strong> the <span style="white-space: nowrap;">Objective-C</span> return type. This option
|
||||
will be ignored if used with pad-return-type. This option takes precedence over the pad paren
|
||||
outside option. </p>
|
||||
<div class="code">
|
||||
@@ -2347,7 +2411,7 @@ Foo(bool isFoo);</pre>
|
||||
</p>
|
||||
<p id="_pad-param-type">
|
||||
<code class="title">--pad-param-type / -xS</code><br />
|
||||
Insert space padding around an Objective-C parameter type. This will add exactly
|
||||
Insert space padding around an <span style="white-space: nowrap;">Objective-C</span> parameter type. This will add exactly
|
||||
one space. Any additional spaces will be deleted. This has precedence over the pad method colon option and
|
||||
will always cause space padding after a method colon.</p>
|
||||
<div class="code">
|
||||
@@ -2362,7 +2426,7 @@ Foo(bool isFoo);</pre>
|
||||
</p>
|
||||
<p id="_unpad-param-type">
|
||||
<code class="title">--unpad-param-type / -xs</code><br />
|
||||
Remove all space padding around an Objective-C parameter type. This option takes precedence over the
|
||||
Remove all space padding around an <span style="white-space: nowrap;">Objective-C</span> parameter type. This option takes precedence over the
|
||||
pad paren outside option. The pad method colon option has precedence over the <strong>opening</strong> paren.
|
||||
The closing paren will always be unpadded.</p>
|
||||
<div class="code">
|
||||
@@ -2382,7 +2446,7 @@ Foo(bool isFoo);</pre>
|
||||
</p>
|
||||
<p id="_align-method-colon">
|
||||
<code class="title">--align-method-colon / -xM</code><br />
|
||||
Align the colons in Objective-C method declarations
|
||||
Align the colons in <span style="white-space: nowrap;">Objective-C</span> method declarations
|
||||
and method calls. If this option is not declared, method definitions will be indented uniformly, and method calls
|
||||
will align with the first keyword.</p>
|
||||
<div class="code">
|
||||
@@ -2420,11 +2484,11 @@ Foo(bool isFoo);</pre>
|
||||
</p>
|
||||
<p id="_pad-method-colon">
|
||||
<code class="title">--pad-method-colon=none / -xP0<br />
|
||||
--pad-method-colon=all / -xP1<br />
|
||||
--pad-method-colon=all / -xP1<br />
|
||||
--pad-method-colon=after / -xP2<br />
|
||||
--pad-method-colon=before / -xP3
|
||||
</code><br />
|
||||
Add or remove space padding before or after the colons in an Objective-C method call. These options will
|
||||
Add or remove space padding before or after the colons in an <span style="white-space: nowrap;">Objective-C</span> method call. These options will
|
||||
pad exactly one space. Any additional spaces will be deleted. The space padding after the method colon can be
|
||||
overridden by pad-param-type.</p>
|
||||
<div class="code">
|
||||
@@ -2441,11 +2505,6 @@ Foo(bool isFoo);</pre>
|
||||
with pad-method-colon=before:</p>
|
||||
<pre>-(void)insertKey :(id)key;</pre>
|
||||
</div>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * Other Command Line Options * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Other_Options">Other Options</h3>
|
||||
|
||||
@@ -2529,11 +2588,6 @@ Foo(bool isFoo);</pre>
|
||||
<p>
|
||||
When <strong>redirection</strong> is used on Windows the output will always have Windows line ends. This option
|
||||
will be ignored.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<!-- * * * * * * * * * * * * Command-Line Options * * * * * * * * * * * * -->
|
||||
|
||||
<h3 id="_Command_Line_Only">Command Line Only</h3>
|
||||
|
||||
@@ -2605,15 +2659,13 @@ Foo(bool isFoo);</pre>
|
||||
<code class="title">--stdout=<span class="option">####</span></code><br />
|
||||
Open a file using the file path #### as output from single file formatting. This is a replacement for redirection.
|
||||
Do not use this with ">" redirection.</p>
|
||||
<p>
|
||||
</p>
|
||||
<hr />
|
||||
|
||||
<p >
|
||||
<a href="http://sourceforge.net/projects/astyle">
|
||||
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" />
|
||||
</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<p class="noindent">
|
||||
Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical
|
||||
User Interface (GUI). The shared library can be called from a C++, Objective‑C, C#, or Python program. There
|
||||
User Interface (GUI). The shared library can be called from a C++, <span style="white-space: nowrap;">Objective-C</span>, C#, or Python program. There
|
||||
are also compile options for a Java Native Interface (JNI) that allows it to be called from a Java program. Information
|
||||
on compiling the various configurations of Artistic Style is in the Install Information.</p>
|
||||
<p class="noindent">
|
||||
@@ -43,12 +43,12 @@
|
||||
as a shared or static library from a C++ program. It includes a C++ sample program that can be used to test the
|
||||
Artistic Style libraries.</p>
|
||||
<p>
|
||||
<a href="https://astyle.sourceforge.net/develop/objc.html">Calling Artistic Style from an Objective-C Program</a> contains information on calling Artistic
|
||||
Style as a shared or static library from an Objective-C program. It includes an Objective-C sample program that
|
||||
<a href="https://astyle.sourceforge.net/develop/objc.html">Calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span> Program</a> contains information on calling Artistic
|
||||
Style as a shared or static library from an <span style="white-space: nowrap;">Objective-C</span> program. It includes an <span style="white-space: nowrap;">Objective-C</span> sample program that
|
||||
can be used to test the Artistic Style shared libraries.</p>
|
||||
<p style="margin-left: 0.5in;">
|
||||
<a href="https://astyle.sourceforge.net/develop/gnustep.html">Objective‑C on Windows and Linux</a> contains information on compiling and running
|
||||
Objective-C programs using GNUstep. It has instructions for compiling the Example program on Windows or
|
||||
<a href="https://astyle.sourceforge.net/develop/gnustep.html"><span style="white-space: nowrap;">Objective-C</span> on Windows and Linux</a> contains information on compiling and running
|
||||
<span style="white-space: nowrap;">Objective-C</span> programs using GNUstep. It has instructions for compiling the Example program on Windows or
|
||||
Linux.</p>
|
||||
<p>
|
||||
<a href="https://astyle.sourceforge.net/develop/jni.html">Calling Artistic Style as a Java Native Interface</a> contains information on calling Artistic
|
||||
@@ -92,13 +92,13 @@
|
||||
|
||||
<h4>
|
||||
<a href="https://sourceforge.net/projects/astyle/files/OldFiles/examples/example-objc.zip" target="_blank"
|
||||
title="open new window">Objective‑C Example</a>
|
||||
title="open new window"><span style="white-space: nowrap;">Objective-C</span> Example</a>
|
||||
</h4>
|
||||
|
||||
<p>
|
||||
The example for Objective‑C contains the methods to call Artistic Style from a static or shared library
|
||||
using an Objective‑C program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
|
||||
Copy the shared library to the same folder as the Objective‑C Example executable. It will format files in
|
||||
The example for <span style="white-space: nowrap;">Objective-C</span> contains the methods to call Artistic Style from a static or shared library
|
||||
using an <span style="white-space: nowrap;">Objective-C</span> program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
|
||||
Copy the shared library to the same folder as the <span style="white-space: nowrap;">Objective-C</span> Example executable. It will format files in
|
||||
the test‑data directory included in the download.</p>
|
||||
|
||||
<h4>
|
||||
|
||||
+22
-11
@@ -1,24 +1,29 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
|
||||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Artistic Style - Index</title>
|
||||
<meta http-equiv="Content-Language" content="en-us" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
|
||||
|
||||
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="styles.css" rel="stylesheet" type="text/css" />
|
||||
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
||||
|
||||
<title>Artistic Style - Index</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- body text -->
|
||||
|
||||
<h1>Artistic Style 3.2</h1>
|
||||
<h1>Artistic Style</h1>
|
||||
|
||||
<h2>
|
||||
A Free, Fast, and Small Automatic Formatter<br />
|
||||
for C, C++, C++/CLI, Objective C, C#, and Java Source Code
|
||||
for C, C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>, C#, and Java Source Code
|
||||
</h2>
|
||||
|
||||
<center>
|
||||
@@ -36,13 +41,19 @@
|
||||
<td>SourceForge:</td>
|
||||
<td><a href="http://sourceforge.net/projects/astyle/">http://sourceforge.net/projects/astyle/</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="folder-green-git.ico" alt="" /></td>
|
||||
<td>Source code:</td>
|
||||
<td><a href="https://gitlab.com/saalen/astyle">https://gitlab.com/saalen/astyle</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<p class="noindent" style="margin-top: 2em">
|
||||
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective‑C,
|
||||
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>,
|
||||
C# and Java programming languages. Written in C++, it can be used from the command line or incorporated as
|
||||
a library in another program. Options can be entered from the command line or from an option file. The library
|
||||
version can be called from programs written in languages other that C++.</p>
|
||||
@@ -121,7 +132,7 @@
|
||||
Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical
|
||||
User Interface (GUI). With the Java Development Kit (JDK) installed it can be compiled as a Java Native Interface
|
||||
(JNI) and called from a Java program. The Developer Information documents the calling procedure and has example
|
||||
programs for C++, C++/CLI, Objective‑C, Java, C#, and Python.</p>
|
||||
programs for C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>, Java, C#, and Python.</p>
|
||||
|
||||
<h3>Bug Reports, Change Requests, Update Notifications</h3>
|
||||
|
||||
|
||||
+23
-20
@@ -1,23 +1,26 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
|
||||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Artistic Style - Install Information</title>
|
||||
<meta http-equiv="Content-Language" content="en-us" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
|
||||
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
||||
<link href="styles.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
|
||||
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="styles.css" rel="stylesheet" type="text/css" />
|
||||
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
||||
|
||||
<title>Artistic Style - Installation</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Artistic Style Install Information</h1>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<div style="float: left; background-color: #fbfaef;padding: 2em;">
|
||||
|
||||
<h3 id="Contents">Contents</h3>
|
||||
<h3 id="Contents" style="margin-top: 0em;">Contents</h3>
|
||||
|
||||
<p class="contents1">
|
||||
<a class="contents" href="#_Artistic_Style_Versions">Artistic Style Versions</a></p>
|
||||
@@ -60,8 +63,11 @@
|
||||
|
||||
<p class="contents2">
|
||||
<a class="contents" href="#_PIP">Python PIP</a></p>
|
||||
</div>
|
||||
|
||||
<h3 id="_Artistic_Style_Versions">Artistic Style Versions</h3>
|
||||
<div style="float: right; width: 65%; margin-top: 0em;">
|
||||
|
||||
<h3 id="_Artistic_Style_Versions" style="margin-top: 1em;">Artistic Style Versions</h3>
|
||||
|
||||
<p>
|
||||
astyle_x.x_linux.tar.gz is the <strong>Linux </strong>version of Artistic Style. It contains the source code,
|
||||
@@ -213,7 +219,7 @@ make install</pre>
|
||||
<h4 id="_Clang_Makefile">Clang Makefile</h4>
|
||||
|
||||
<p>
|
||||
Clang has a static analyzer that finds potential bugs in C/C++ and Objective-C programs. It can be run as a standalone
|
||||
Clang has a static analyzer that finds potential bugs in C/C++ and <span style="white-space: nowrap;">Objective-C</span> programs. It can be run as a standalone
|
||||
tool from the command-line and runs in tandem with a build. There is a script file, analyze.sh, that will run
|
||||
the analysis on Artistic Style.</p>
|
||||
<p>
|
||||
@@ -328,7 +334,7 @@ make install</pre>
|
||||
<li><strong>AStyleA</strong> builds the Artistic Style program as a Static Library (libastyle.a). This can be statically
|
||||
linked with an executable.</li>
|
||||
<li><strong>AStyleDylib</strong> builds the Artistic Style program as a Dynamic Library (libastyle.dylib). It can
|
||||
be used with C/C++, Objective C, C#, and Python programs.</li>
|
||||
be used with C/C++, <span style="white-space: nowrap;">Objective-C</span>, C#, and Python programs.</li>
|
||||
<li><strong>AStyleJava</strong> builds the Artistic Style program as a Dynamic Library (libastylej.dylib) that can
|
||||
be called from a Java program. The Java Development (JDK) is required for the project to compile. The Project
|
||||
Properties must have an include path to the JDK include directory. The output dylib can also be called from a
|
||||
@@ -602,10 +608,7 @@ mingw32-make</pre>
|
||||
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" />
|
||||
</a></p>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
+13
-15
@@ -1,22 +1,24 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
|
||||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Artistic Style - Links</title>
|
||||
<meta http-equiv="Content-Language" content="en-us" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
|
||||
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
||||
|
||||
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="styles.css" rel="stylesheet" type="text/css" />
|
||||
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
||||
|
||||
<title>Artistic Style - Links</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Artistic Style Links</h1>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
|
||||
<h3>Programs Using Artistic Style</h3>
|
||||
|
||||
<p>
|
||||
@@ -216,15 +218,11 @@
|
||||
toolset v100). Visual Studio 2012 (platform toolset v110) and higher contains dependencies on Windows API functions
|
||||
that exist only on Windows Vista, Windows 7, and Windows 8. This means that applications built with Visual Studio
|
||||
2012 and higher would fail to load and execute on Windows XP.</p>
|
||||
<p>
|
||||
</p>
|
||||
|
||||
<p style="margin-left: -0.4in; text-align: center;">
|
||||
<a href="http://sourceforge.net/projects/astyle">
|
||||
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" /></a></p>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
+607
-599
File diff suppressed because it is too large
Load Diff
@@ -23,13 +23,13 @@
|
||||
With a new Artistic Style release some unchanged source files will be formatted because of changes to Artistic
|
||||
Style. You may want to format your source before making program changes in order to bring it up to date.</p>
|
||||
<p>
|
||||
A new programming language, Objective‑C, has been added to Artistic Style. Four new options, "align‑method‑colon",
|
||||
A new programming language, <span style="white-space: nowrap;">Objective-C</span>, has been added to Artistic Style. Four new options, "align‑method‑colon",
|
||||
"pad‑method‑colon=", "pad‑method‑prefix", and "unpad‑method‑prefix" have been
|
||||
added to format the methods. The options are described in a new "Objective‑C" section in the documentation.
|
||||
These new options affect only Objective‑C source code. They have no effect on the other programming
|
||||
added to format the methods. The options are described in a new "<span style="white-space: nowrap;">Objective-C</span>" section in the documentation.
|
||||
These new options affect only <span style="white-space: nowrap;">Objective-C</span> source code. They have no effect on the other programming
|
||||
languages.</p>
|
||||
<p>
|
||||
Because of the longer continuation indents sometimes needed for Objective‑C, the option "max-instatement-indent"
|
||||
Because of the longer continuation indents sometimes needed for <span style="white-space: nowrap;">Objective-C</span>, the option "max-instatement-indent"
|
||||
may need to be increased. If you are not getting the paren and block paren alignment you want, try increasing
|
||||
this value. The default minimum is 40 and the maximum is 120.</p>
|
||||
<p>
|
||||
@@ -87,11 +87,11 @@
|
||||
The "Links" page has two new sections for links mentioned in previous versions of Artistic Style. It links to
|
||||
free software and other information.</p>
|
||||
<p>
|
||||
The "Developer Information" section has a new example and download for calling Artistic Style from an Objective‑C
|
||||
The "Developer Information" section has a new example and download for calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span>
|
||||
program. Since it is another "C" language the only thing needed is to link the program with a library build of
|
||||
Artistic Style. The example was developed on Windows and Linux using the GNUstep project. Since the example is
|
||||
a console program the problems with the GNUstep GUI have been avoided. It has not been tested on a Mac, but should
|
||||
be close to working. The "Developer Information" section also has a new page for "Objective‑C on Windows
|
||||
be close to working. The "Developer Information" section also has a new page for "<span style="white-space: nowrap;">Objective-C</span> on Windows
|
||||
and Linux" which has information on compiling and running the example on those systems.</p>
|
||||
<p>
|
||||
The executable included in the Windows distribution was compiled with Visual Studio 2010 (platform toolset v100).
|
||||
@@ -209,7 +209,7 @@
|
||||
This bug fix release is issued because of the length of time required for the some of the changes in the next
|
||||
release (2.03). Bugs with the breaking of "case" statements and a crash with pointer to pointer (**) in align-pointer=type
|
||||
have been fixed. The "case" statements that have been incorrectly broken will be fixed in this release. Pointers
|
||||
and references are now processed for C# files. See the "Release Notes" for more information and additional
|
||||
and references are now processed for C# files. See the "Release Notes" for more information and additional
|
||||
changes.</p>
|
||||
|
||||
<h4><strong>The following information is for the original 2.02 release.</strong></h4>
|
||||
@@ -229,8 +229,8 @@
|
||||
must be input from the command line and not an option file. See the documentation for details.</p>
|
||||
<p>
|
||||
The translations were mostly done with an automated translation program, Google Translate, so they may not be
|
||||
the best translation possible. The translations are at the end of ASLocalizer.cpp in the form of an
|
||||
English‑Translation pair. If you correct a translation, send the source as a bug report and it will be
|
||||
the best translation possible. The translations are at the end of ASLocalizer.cpp in the form of an
|
||||
English‑Translation pair. If you correct a translation, send the source as a bug report and it will be
|
||||
included in the next release.</p>
|
||||
<p>
|
||||
To add a language, add a new translation class to ASLocalizer.h. Add the English‑Translation pair to the
|
||||
@@ -270,15 +270,15 @@
|
||||
of containing no uninformative lines. Like Pico, it is also a very compact style.</p>
|
||||
<p>
|
||||
The option "brackets=horstmann" has been removed. Instead use "style=horstmann" or "A9". The short option "g"
|
||||
is now equivalent to the new "brackets=run-in". Run-in brackets are used for both Horstmann and Pico
|
||||
is now equivalent to the new "brackets=run-in". Run-in brackets are used for both Horstmann and Pico
|
||||
styles.</p>
|
||||
<p>
|
||||
The option "indent-brackets" and short option "B" have been removed. Instead use "style=whitesmith" or
|
||||
The option "indent-brackets" and short option "B" have been removed. Instead use "style=whitesmith" or
|
||||
"style=banner".</p>
|
||||
<p>
|
||||
The option "indent-blocks" and short option "G" have been removed. Instead use "style=gnu".</p>
|
||||
<p>
|
||||
Two new options, "style=break" and "style=attach", have been added for Allman and Java bracket styles
|
||||
Two new options, "style=break" and "style=attach", have been added for Allman and Java bracket styles
|
||||
respectively.</p>
|
||||
|
||||
<h4>Other Changes</h4>
|
||||
@@ -399,7 +399,7 @@
|
||||
is no change necessary to the input. Otherwise, check the documentation for the new codes.</p>
|
||||
<p>
|
||||
The --style=linux has been changed to ALWAYS use a minimum conditional indent of one-half the indent length. This
|
||||
is in the style definition and cannot be changed. If you do not want this setting use the K&R style
|
||||
is in the style definition and cannot be changed. If you do not want this setting use the K&R style
|
||||
instead.</p>
|
||||
<p>
|
||||
The MFC macros BEGIN_DISPATCH_MAP, BEGIN_EVENT_MAP, and BEGIN_PROPPAGEIDS are now formatted.</p>
|
||||
@@ -518,7 +518,7 @@
|
||||
should result in a noticeable speed improvement.</p>
|
||||
<p>
|
||||
Checks for the maximum in-statement indent have been fixed. The indent for some long continuation lines may be
|
||||
decreased. If you want the previous indentation, increase the ‑‑max‑in‑statement
|
||||
decreased. If you want the previous indentation, increase the ‑‑max‑in‑statement
|
||||
option.</p>
|
||||
<p>
|
||||
Occasionally, someone will use Artistic Style to format a file encoded with UTF-16 or UTF-32 bit encoding. These
|
||||
@@ -529,7 +529,7 @@
|
||||
of Unicode encodings", "Compatibility issues".</p>
|
||||
<p>
|
||||
The Artistic Style documentation has been changed to include a new "Padding Options" section. The padding options
|
||||
were previously in the "Formatting Options" section. This was done to allow space for additional options in
|
||||
were previously in the "Formatting Options" section. This was done to allow space for additional options in
|
||||
GUIs.</p>
|
||||
<p>
|
||||
The Scripts page has a couple of new scripts, including a "clean" script in python.</p>
|
||||
@@ -669,7 +669,7 @@
|
||||
and Emacs does not have the style. <strong>Artistic Style uses an extra indent for switch blocks and C++ class blocks
|
||||
for both Whitesmith and Banner styles.</strong> This provides the best appearance in defining the style. If
|
||||
a different format is wanted, use the individual options instead of the predefined style. You can try indent‑brackets,
|
||||
indent‑classes, and indent‑swiches on a class or switch block to see the results.</p>
|
||||
indent‑classes, and indent‑switches on a class or switch block to see the results.</p>
|
||||
<p>
|
||||
The GNU style and indent‑blocks option have been changed to indent only the blocks within a function body.
|
||||
The opening bracket for namespaces and classes is no longer indented. The opening bracket for functions remains
|
||||
@@ -794,13 +794,13 @@
|
||||
The OpenVMS distribution is prepared by Jim Duff, an OpenVMS Systems Specialist living in Sydney, Australia. His
|
||||
website is eight‑cubed.com.</p>
|
||||
<p>
|
||||
Thanks to Eran Ifrah and Max Horn for their contributions. Travis Robinson wrote the original C# interface
|
||||
Thanks to Eran Ifrah and Max Horn for their contributions. Travis Robinson wrote the original C# interface
|
||||
program.</p>
|
||||
|
||||
<h4>Developers</h4>
|
||||
|
||||
<p>
|
||||
There is a new page in the Developer Information that has an example of calling Artistic Style from a C#
|
||||
There is a new page in the Developer Information that has an example of calling Artistic Style from a C#
|
||||
program.</p>
|
||||
<p>
|
||||
There was an omission in the peekNextLine function added in the last release which causes it to bypass empty lines.
|
||||
@@ -815,7 +815,7 @@
|
||||
<p>
|
||||
The predefined style options will now override all other options. The order of entry does not matter as in previous
|
||||
versions. This will be done even if astyle_main is not used by your system. This was done by moving the checks
|
||||
from astyle_main to ASFormatter. The procedure is in the function fixOptionVariableConflicts in
|
||||
from astyle_main to ASFormatter. The procedure is in the function fixOptionVariableConflicts in
|
||||
ASFormatter.</p>
|
||||
<p>
|
||||
The predefined style options now define only the bracket placement and sometimes the spaces per tab. This will
|
||||
@@ -824,7 +824,7 @@
|
||||
The conflicts will be resolved by the fixOptionVariableConflicts function which is called after all options have
|
||||
been processed. All you need to do is set the options selected by the user.</p>
|
||||
<p>
|
||||
The Artistic Style for Windows program has been updated to support the current release. It is available at
|
||||
The Artistic Style for Windows program has been updated to support the current release. It is available at
|
||||
jimp03.zxq.net</p>
|
||||
<p>
|
||||
I apologize for the unplanned changes this may add to your system. But Artistic Style is starting to mature as
|
||||
@@ -869,7 +869,7 @@
|
||||
<p>
|
||||
When processing directories recursively it is sometimes necessary to exclude certain files or directories. This
|
||||
can be done using a new exclude (‑‑exclude=file‑or‑directory) option. There is no short
|
||||
option. Multiple exclude statements are allowed. The Other Options section of the documentation contains the
|
||||
option. Multiple exclude statements are allowed. The Other Options section of the documentation contains the
|
||||
details.</p>
|
||||
<p>
|
||||
It is always a good idea to create a backup for files that have been formatted. This can cause a problem in that
|
||||
@@ -964,7 +964,7 @@
|
||||
There is now a distribution package for OpenVMS thanks to Jim Duff, an OpenVMS Systems Specialist living in Sydney
|
||||
Australia. His website is at eight-cubed.com.</p>
|
||||
<p>
|
||||
Thanks to Norbert Holzki and Siemens AG, Medical Solutions, Forchheim, Germany for testing the array
|
||||
Thanks to Norbert Holzki and Siemens AG, Medical Solutions, Forchheim, Germany for testing the array
|
||||
formatting.</p>
|
||||
<p>
|
||||
Thanks to Sam Cooler for testing the Mac OS X version.</p>
|
||||
@@ -996,7 +996,7 @@
|
||||
<p>
|
||||
There is a sample GUI program for Windows available at http://jimp03.zxq.net/. It uses the unmodified Artistic
|
||||
Style compiled for a GUI. The source code needs some work so it is not available for now. It should work under
|
||||
Linux using WINE. Future enhancements and platform support will depend on the response to the sample
|
||||
Linux using WINE. Future enhancements and platform support will depend on the response to the sample
|
||||
program.</p>
|
||||
<p>
|
||||
To support the new Artistic Style preprocessor option there are new makefiles and project files. Windows users
|
||||
@@ -1024,7 +1024,7 @@
|
||||
A new option, unpad=paren, was added. This will undo the pad=paren, pad=paren-out and pad=paren-in options. It
|
||||
can be used alone or with pad=paren-out or pad=paren-in. If used alone it will unpad all parens that have been
|
||||
previously padded. If used with a paren padding option, the paren padding option will take precedence and only
|
||||
the unnecessary padding will be removed. This will enable the paren padding to be changed in one formatting
|
||||
the unnecessary padding will be removed. This will enable the paren padding to be changed in one formatting
|
||||
run.</p>
|
||||
<p>
|
||||
Padding to paren headers (e.g. "if", "for", "while") was reinstated. This was done in previous releases if pad=oper
|
||||
|
||||
+166
-36
@@ -1,47 +1,177 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
|
||||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Artistic Style - Release Notes</title>
|
||||
<meta http-equiv="Content-Language" content="en-us" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
|
||||
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
||||
|
||||
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="styles.css" rel="stylesheet" type="text/css" />
|
||||
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
||||
|
||||
<title>Artistic Style - Release notes</title>
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Artistic Style Release Notes</h1>
|
||||
|
||||
<h3>Artistic Style 3.6 (August 2024)</h3>
|
||||
<ul>
|
||||
<li>Add option --pad-include (https://sourceforge.net/p/astyle/tickets/117/)</li>
|
||||
<li>combined GHC and GSC style options</li>
|
||||
<li>improve combination of --align-pointer=type and --pad-oper (https://sourceforge.net/p/astyle/tickets/578/)</li>
|
||||
<li>improve multiplication recognition with --align-pointer=type (https://sourceforge.net/p/astyle/tickets/572/)</li>
|
||||
<li>update compiler options in build files</li>
|
||||
<li>fix indent of assignments within macros ( https://gitlab.com/saalen/astyle/-/issues/47)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.5.2 (July 2024)</h3>
|
||||
<ul>
|
||||
<li>Fix library compilation errors (https://gitlab.com/saalen/astyle/-/issues/48)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.5.1 (June 2024)</h3>
|
||||
<ul>
|
||||
<li>Fix crash concerning macro continuation (https://sourceforge.net/p/astyle/bugs/574)</li>
|
||||
<li>Fix EOL handling for Windows builds (https://gitlab.com/saalen/astyle/-/issues/43)</li>
|
||||
<li>Fix GSC comment recognition (https://gitlab.com/saalen/astyle/-/issues/46)</li>
|
||||
<li>Fix MSVC compiler warnings (https://sourceforge.net/p/astyle/bugs/575)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.5 (June 2024)</h3>
|
||||
<ul>
|
||||
<li>Add option --pad-negation (https://sourceforge.net/p/astyle/bugs/571)</li>
|
||||
<li>Apply align-pointer=type only if type is present (https://sourceforge.net/p/astyle/bugs/573)</li>
|
||||
<li>Avoid deletion of empty lines after continuation (https://sourceforge.net/p/astyle/bugs/574)</li>
|
||||
<li>Fix alignment of logical AND operators (https://sourceforge.net/p/astyle/bugs/572)</li>
|
||||
<li>Fix recognition of Java/C# multi line strings (https://gitlab.com/saalen/astyle/-/issues/42)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.16 (May 2024)</h3>
|
||||
<ul>
|
||||
<li>Fix padding of scientific notation literals (#570)</li>
|
||||
<li>Fix of reference args alignment (https://gitlab.com/saalen/astyle/-/issues/35)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.15 (May 2024)</h3>
|
||||
<ul>
|
||||
<li>Fix parsing of floating point literals (#566)</li>
|
||||
<li>Fix "--break-block" handling of class and function blocks (#569)</li>
|
||||
<li>Fix "--align-pointer=type" option for all types in lambda parameter lists (https://gitlab.com/saalen/astyle/-/issues/35)</li>
|
||||
<li>Fix padding of lambda capture with align-pointer option</li>
|
||||
<li>Exclude files ending with backup suffix from input file names list (#560)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.14 (April 2024)</h3>
|
||||
<ul>
|
||||
<li>Fix split references with "-k1" option (#565)</li>
|
||||
<li>Fix "--align-pointer=type" option for fundamental types in lambda parameter lists (https://gitlab.com/saalen/astyle/-/issues/35)</li>
|
||||
<li>Fix "--indent-after-parens" indent count (https://gitlab.com/saalen/astyle/-/issues/29)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.13 (March 2024)</h3>
|
||||
<ul>
|
||||
<li>Fix comment indent after string macro with R suffix (https://gitlab.com/saalen/astyle/-/issues/39)</li>
|
||||
<li>Do not break single line block after enum in mozilla mode (https://gitlab.com/saalen/astyle/-/issues/38)</li>
|
||||
<li>Adjust cmake policy for new versions only (https://gitlab.com/saalen/astyle/-/issues/40)</li>
|
||||
<li>Update man page path</li>
|
||||
<li>Add support for scikit-build-core</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.12 (February 2024)</h3>
|
||||
<ul>
|
||||
<li>Add "--pad-brackets-in" and "--pad-brackets-out" options (https://gitlab.com/saalen/astyle/-/issues/33)</li>
|
||||
<li>Fix indentation of initializer lists (https://gitlab.com/saalen/astyle/-/issues/28)</li>
|
||||
<li>Fix crash with "--add-braces=nested" applied to if-else blocks (https://gitlab.com/saalen/astyle/-/issues/36)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.11 (January 2024)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Add new option "--add-braces=nested" to add braces in nested single line statements (https://gitlab.com/saalen/astyle/-/issues/27)</li>
|
||||
<li>Fix indent after double template brackets (https://gitlab.com/saalen/astyle/-/issues/28)</li>
|
||||
<li>Fix indent after dot (https://gitlab.com/saalen/astyle/-/issues/28)</li>
|
||||
<li>Option "--squeeze-lines=1" is no longer default with Linux builds (#559)</li>
|
||||
<li>Add experimental GHC mode (https://gitlab.com/saalen/astyle/-/issues/31)</li>
|
||||
<li>Fix indent after raw string (https://gitlab.com/saalen/astyle/-/issues/32)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.10 (October 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Fix missing indent in function parameter list (https://gitlab.com/saalen/astyle/-/issues/16)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.9 (October 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Apply one wording for <span style="white-space: nowrap;">Objective-C</span> in the docs</li>
|
||||
<li>Fix more CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)</li>
|
||||
<li>Fix inserting space with combined "--pad-oper" and "--align-pointer" options (#557)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.8 (September 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Fix lambda broken brace after auto keyword (#554)</li>
|
||||
<li>Fix line break after comment in asm block (#226)</li>
|
||||
<li>Fix padding of multiply operator (#126)</li>
|
||||
<li>Fix indentation of method calls (#434)</li>
|
||||
<li>Fix empty line after closing while block (https://gitlab.com/saalen/astyle/-/issues/18)</li>
|
||||
<li>Add outer padding for empty parens pairs (https://gitlab.com/saalen/astyle/-/issues/19) </li>
|
||||
<li>Fix more CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.6 (August 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Add VS2022 project files (https://gitlab.com/saalen/astyle/-/merge_requests/3)</li>
|
||||
<li>Fix CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)</li>
|
||||
<li>Add CS coalesce assignment operator (https://gitlab.com/saalen/astyle/-/issues/17)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4.1 (August 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Fix padding of & following a comma (#552)</li>
|
||||
<li>Fix indent of function declarations following access modifiers (#504)</li>
|
||||
<li>Fix indent of C# allocation blocks (#464)</li>
|
||||
<li>Fix indentation of comments after CS interpolation quotes (https://gitlab.com/saalen/astyle/-/issues/16)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.4 (June 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>fixed formatting of CS interpolation literals (https://gitlab.com/saalen/astyle/-/issues/8).</li>
|
||||
<li>fixed false lambda recognition (https://gitlab.com/saalen/astyle/-/issues/11)</li>
|
||||
<li>fixed indentation of member declarations (https://gitlab.com/saalen/astyle/-/issues/10)</li>
|
||||
<li>fixed indentation of struct assignments (https://gitlab.com/saalen/astyle/-/issues/12)</li>
|
||||
<li>added new option "--indent-lambda" to to enable new lambda recognition (https://gitlab.com/saalen/astyle/-/issues/7)</li>
|
||||
<li>added link to astyle Python distribution projects (https://gitlab.com/saalen/astyle/-/issues/6)</li>
|
||||
<li>Fix formatting of CS interpolation literals (https://gitlab.com/saalen/astyle/-/issues/8).</li>
|
||||
<li>Fix false lambda recognition (https://gitlab.com/saalen/astyle/-/issues/11)</li>
|
||||
<li>Fix indentation of member declarations (https://gitlab.com/saalen/astyle/-/issues/10)</li>
|
||||
<li>Fix indentation of struct assignments (https://gitlab.com/saalen/astyle/-/issues/12)</li>
|
||||
<li>Add new option "--indent-lambda" to enable new lambda recognition (https://gitlab.com/saalen/astyle/-/issues/7)</li>
|
||||
<li>Add link to astyle Python distribution projects (https://gitlab.com/saalen/astyle/-/issues/6)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.3 (May 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>added new option "--squeeze-ws" to remove superfluous whitespace (experimental)</li>
|
||||
<li>added new option "--squeeze-lines" to remove superfluous empty lines (experimental, #19, #22, #43, #72, #84, #93, #105, #517)</li>
|
||||
<li>added new options "--pad-brackets" and "--unpad-brackets" to add or remove whitespace around square brackets (experimental)</li>
|
||||
<li>fixed indent of lambda bodies in fct calls (#121)</li>
|
||||
<li>fixed indent of struct names including "struct" (#526)</li>
|
||||
<li>fixed indent of C++11 initializer lists (#516)</li>
|
||||
<li>fixed padding of pointers separated by comma (#537)</li>
|
||||
<li>refactored namespace std usage</li>
|
||||
<li>Add new option "--squeeze-ws" to remove superfluous whitespace (experimental)</li>
|
||||
<li>Add new option "--squeeze-lines" to remove superfluous empty lines (experimental, #19, #22, #43, #72, #84, #93, #105, #517)</li>
|
||||
<li>Add new options "--pad-brackets" and "--unpad-brackets" to add or remove whitespace around square brackets (experimental)</li>
|
||||
<li>Fix indent of lambda bodies in fct calls (#121)</li>
|
||||
<li>Fix indent of struct names including "struct" (#526)</li>
|
||||
<li>Fix indent of C++11 initializer lists (#516)</li>
|
||||
<li>Fix padding of pointers separated by comma (#537)</li>
|
||||
<li>Refactor namespace std usage</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.2.1 (March 2023)</h3>
|
||||
|
||||
<ul>
|
||||
<li>fixed struct recognition related to SF #534 (https://gitlab.com/saalen/astyle/-/issues/1)</li>
|
||||
<li>Fix struct recognition related to SF #534 (https://gitlab.com/saalen/astyle/-/issues/1)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 3.2 (March 2023)</h3>
|
||||
@@ -113,12 +243,12 @@
|
||||
<li>Fix indentation of compound literals in an argument list (#456).</li>
|
||||
<li>Fix indentation of trailing return type method following a constructor (#463).</li>
|
||||
<li>Fix space padding of closing brace before a dot (#468).</li>
|
||||
<li>Fix Objective-C to allow for "Extern C" statements in the source files (#443, 444, 446).</li>
|
||||
<li>Fix Objective-C to allow for method definitions without a specified return type (#447).</li>
|
||||
<li>Fix Objective-C to allow for method definitions with multiple param types.</li>
|
||||
<li>Fix Objective-C to replace tabbed padding with a space.</li>
|
||||
<li>Fix Objective-C formatting of line-end comments with "unpad-return-type".</li>
|
||||
<li>Fix Objective-C "align-method-colon" to ignore ternary (?) operators.</li>
|
||||
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to allow for "Extern C" statements in the source files (#443, 444, 446).</li>
|
||||
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to allow for method definitions without a specified return type (#447).</li>
|
||||
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to allow for method definitions with multiple param types.</li>
|
||||
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to replace tabbed padding with a space.</li>
|
||||
<li>Fix <span style="white-space: nowrap;">Objective-C</span> formatting of line-end comments with "unpad-return-type".</li>
|
||||
<li>Fix <span style="white-space: nowrap;">Objective-C</span> "align-method-colon" to ignore ternary (?) operators.</li>
|
||||
<li>Fix C# base class constructor indentation (#459).</li>
|
||||
<li>Fix C# indentation of method declaration containing a colon (#465)</li>
|
||||
<li>Fix C/C++ to allow "interface" as a non-keyword (#445).</li>
|
||||
@@ -190,13 +320,13 @@
|
||||
<li>Add new option "indent-continuation".</li>
|
||||
<li>Add new option "pad-comma" (#100).</li>
|
||||
<li>Add removing spaces before a comma (#100).</li>
|
||||
<li>Add new Objective‑C options "pad-return-type" (-xq) and "unpad-return-type" (-xr).</li>
|
||||
<li>Add new Objective‑C options "pad-param-type" (-xS) and "unpad-param-type" (-xs).</li>
|
||||
<li>Add new <span style="white-space: nowrap;">Objective-C</span> options "pad-return-type" (-xq) and "unpad-return-type" (-xr).</li>
|
||||
<li>Add new <span style="white-space: nowrap;">Objective-C</span> options "pad-param-type" (-xS) and "unpad-param-type" (-xs).</li>
|
||||
<li>Add formatting of C++14 single-quote digit separators (#337).</li>
|
||||
<li>Add indentation for CORBA IDL module statement (#414).</li>
|
||||
<li>Add translations for Bulgarian, Estonian, Greek, Hungarian, Norwegian, and Romanian.</li>
|
||||
<li>Remove lineend option from formatCinToCout function.</li>
|
||||
<li>Improve align-method-colon and apply to Objective‑C method calls.</li>
|
||||
<li>Improve align-method-colon and apply to <span style="white-space: nowrap;">Objective-C</span> method calls.</li>
|
||||
<li>Improve recognition of header guards in preprocessor statements.</li>
|
||||
<li>Improve recognition of C++11 uniform initializer brackets (#381, 411, 415).</li>
|
||||
<li>Improve the processing of quoted strings and verbatim strings.</li>
|
||||
@@ -221,8 +351,8 @@
|
||||
<li>Fix C# to recognize "using" as a header.</li>
|
||||
<li>Fix C# to always recognize "forever" as a header.</li>
|
||||
<li>Fix Pico style not always computing the indentation for one line blocks.</li>
|
||||
<li>Fix indentation of Objective-C @interface statement (#333).</li>
|
||||
<li>Fix assert error when Objective-C "@" is followed by whitespace.</li>
|
||||
<li>Fix indentation of <span style="white-space: nowrap;">Objective-C</span> @interface statement (#333).</li>
|
||||
<li>Fix assert error when <span style="white-space: nowrap;">Objective-C</span> "@" is followed by whitespace.</li>
|
||||
<li>Fix end of line comments for "pad-method-prefix" and "unpad-method-prefix".</li>
|
||||
<li>Fix end of line comments for "pad-method-colon".</li>
|
||||
<li>Refactoring:
|
||||
@@ -317,8 +447,8 @@
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<strong>Previous releases are available in the <a href="http://astyle.sourceforge.net/notesArchives.html">Release
|
||||
Notes Archives</a>.</strong></p>
|
||||
<strong>Previous releases are available in the <a href="http://astyle.sourceforge.net/notesArchives.html">Release Notes Archives</a>.</strong>
|
||||
</p>
|
||||
|
||||
<p style="margin-left: -0.4in; text-align: center;">
|
||||
<a href="http://sourceforge.net/projects/astyle">
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<h3>Artistic Style 2.04 (November 2013)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Add new programming language Objective‑C.</li>
|
||||
<li>Add new programming language <span style="white-space: nowrap;">Objective-C</span>.</li>
|
||||
<li>Add new bracket style option "style=google" (-A14). </li>
|
||||
<li>Add new option "indent-preproc-cond" (xw) to indent preprocessor conditional statements (#118). </li>
|
||||
<li>Add new bracket modify options "attach-namespaces", "attach-classes", "attach-inlines", and "attach-extern-c".
|
||||
@@ -28,9 +28,9 @@
|
||||
<li>Add new option "indent-modifiers" (-xG) to indent class access modifiers one-half indent (#130). </li>
|
||||
<li>Add new option "remove-brackets" (-xj) to remove brackets from single line conditional statements.</li>
|
||||
<li>Add new option "remove-comment-prefix" (-xp) to remove the leading '*' from multi-line comments. </li>
|
||||
<li>Add new option "align-method-colon" (-xM) to align Objective‑C method colons. </li>
|
||||
<li>Add new option "pad-method-colon=#" (-xP#) to space pad Objective‑C method colons. </li>
|
||||
<li>Add new options "pad-method-prefix" (-xQ), and "unpad-method-prefix" (-xR) to pad the Objective‑C "-" and
|
||||
<li>Add new option "align-method-colon" (-xM) to align <span style="white-space: nowrap;">Objective-C</span> method colons. </li>
|
||||
<li>Add new option "pad-method-colon=#" (-xP#) to space pad <span style="white-space: nowrap;">Objective-C</span> method colons. </li>
|
||||
<li>Add new options "pad-method-prefix" (-xQ), and "unpad-method-prefix" (-xR) to pad the <span style="white-space: nowrap;">Objective-C</span> "-" and
|
||||
"+" method prefix. </li>
|
||||
<li>Add new dll entry point AStyleMainUtf16 for processing C# UTF-16 strings. </li>
|
||||
<li>Add formatting of C++11 raw string literals (#222). </li>
|
||||
@@ -39,7 +39,7 @@
|
||||
<li>Improve recognition and formatting of pointers and references (#174 and other changes). </li>
|
||||
<li>Improve the recognition of block-opening brackets.</li>
|
||||
<li>Improve code using a static code analyzer (#195).</li>
|
||||
<li>Change "max-code-length" to include Objective‑C methods.</li>
|
||||
<li>Change "max-code-length" to include <span style="white-space: nowrap;">Objective-C</span> methods.</li>
|
||||
<li>Change "indent-elseifs" and "break-blocks" to look ahead only if in command-type brackets (speed improvement).
|
||||
</li>
|
||||
<li>Fix linux bracket styles to break the opening bracket in inline function definitions (#185). </li>
|
||||
@@ -876,7 +876,7 @@
|
||||
<li>Compilation under G++ 3.0 now works properly.</li>
|
||||
<li>Bug fix: Opening brackets that appear at the beginning of a line immediately after an empty line comment are now
|
||||
handled properly, and not appended as part of the line comment.</li>
|
||||
<li>Bug fix: Brackets inside comments are now not mis-indented within the comment.</li>
|
||||
<li>Bug fix: Brackets inside comments are properly indented within the comment.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 1.14.1 (2 June 2001)</h3>
|
||||
@@ -1015,13 +1015,13 @@
|
||||
<h3>Artistic Style 1.11.1 (3 September 1999)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Fixed a bug that inserted an empty line at the begining of source files.</li>
|
||||
<li>Fixed a bug that inserted an empty line at the beginning of source files.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Artistic Style 1.11.0 (3 September 1999)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Astyle now filters out line-feeds ('\r') before begining to parse lines. This should take care of bizarre formatting
|
||||
<li>Astyle now filters out line-feeds ('\r') before beginning to parse lines. This should take care of bizarre formatting
|
||||
that existed when moving source files from Windows (which breaks lines with a linefeed AND newline ("\r\n") to
|
||||
unix (which breaks lines only with newlines).</li>
|
||||
<li>The "struct", "static" and "synchronized" keywords are now finally handled correctly in both the contexts of block
|
||||
@@ -1088,7 +1088,7 @@
|
||||
for similarity with the new option above.</li>
|
||||
<li>Changed the short option name of the option '-<strong>-errors-to-standard-output</strong>' from '<strong>-o</strong>'
|
||||
to '<strong>-X</strong>'.</li>
|
||||
<li>Up to now, Artistic Style always inserted a minimal indent of <strong>t</strong>wice the current selected indent
|
||||
<li>Up to now, Artistic Style always inserted a minimal indent of <strong>twice</strong> the current selected indent
|
||||
size inside multi-line conditional headers ('if', 'while' ...), so that it would be clear where the headers end
|
||||
and the code after them begins. The current version adds the option '<strong>--min-conditional-indent=#</strong>'
|
||||
(or '<strong>-m#</strong>') that sets the absolute minimal indent between conditional headers and their multiple-line
|
||||
@@ -1347,4 +1347,3 @@
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
+3
-18
@@ -1,28 +1,13 @@
|
||||
|
||||
/* h1 is a title
|
||||
* h2 is a subtitle
|
||||
* h3 is a hanging text title
|
||||
* h4 is a non-hanging text title
|
||||
* h5 is a non-hanging text title in all caps and black font
|
||||
* p.noindent is non-hanging text (text without a title)
|
||||
* p.contents entries are for the table of contents
|
||||
* a.contents are table of contents links (not underlined)
|
||||
* a.links are links (underlined)
|
||||
* img does not have a border
|
||||
* pre is a predefined format for formatting code
|
||||
*/
|
||||
|
||||
/* margin: [top] [right] [bottom] [left] */
|
||||
|
||||
body { background-color: white; margin: 5em 15em 5em 2em; font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; }
|
||||
|
||||
h1 { color: mediumblue; font-style: italic; margin-top: 3em; }
|
||||
h1 { color: mediumblue; font-style: italic; margin-top: 2em; }
|
||||
h2 { color: mediumblue; font-size: larger; margin-top: 2em; }
|
||||
h3 { color: mediumblue; margin-top: 2em; }
|
||||
h4 { color: mediumblue; margin-top: 2em; }
|
||||
h4 { color: mediumblue; margin-top: 1em; }
|
||||
h5 { text-transform: uppercase }
|
||||
|
||||
p { line-height: 1.2em;}
|
||||
p { line-height: 1.4em;}
|
||||
|
||||
a.contents:link, a.contents:visited { color: mediumblue; text-decoration: none; }
|
||||
a.contents:hover { color: red; text-decoration: none; }
|
||||
|
||||
+30
-7
@@ -1,4 +1,4 @@
|
||||
.TH astyle 1 "2023-04-18" "Andre Simon" "user documentation"
|
||||
.TH astyle 1 "2024-06-30" "Andre Simon" "user documentation"
|
||||
|
||||
.SH NAME
|
||||
astyle - C syntax indenter and formatter
|
||||
@@ -9,7 +9,7 @@ astyle - C syntax indenter and formatter
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B astyle
|
||||
provides a variety of options to apply a consistent coding style to C, C++, Java or Objective C source code files.
|
||||
provides a variety of options to apply a consistent coding style to C, C++, Java or Objective-C source code files.
|
||||
.PP
|
||||
When indenting a specific file, the resulting indented file RETAINS
|
||||
the original file-name. The original pre-indented file is renamed,
|
||||
@@ -218,6 +218,12 @@ Insert space padding around operators.
|
||||
.IP "--pad-comma OR -xg"
|
||||
Insert space padding after commas.
|
||||
|
||||
.IP "--pad-negation"
|
||||
Insert space padding after negations.
|
||||
|
||||
.IP "--pad-negation=before"
|
||||
Insert space padding also before negations.
|
||||
|
||||
.IP "--pad-paren OR -P"
|
||||
Insert space padding around parenthesis on both the outside
|
||||
and the inside.
|
||||
@@ -239,12 +245,22 @@ Insert space padding after paren headers (e.g. 'if', 'for'...).
|
||||
Remove unnecessary space padding around parenthesis. This
|
||||
can be used in combination with the 'pad' options above.
|
||||
|
||||
.IP "--pad-empty-paren OR -xo"
|
||||
Apply padding to empty pairs of parentheses; combine with other
|
||||
parenthesis padding options.
|
||||
|
||||
.IP "--pad-brackets"
|
||||
Insert space padding around square brackets on both the outside
|
||||
and the inside (experimental).
|
||||
and the inside.
|
||||
|
||||
.IP "--pad-brackets-in"
|
||||
Insert space padding around square brackets the inside only.
|
||||
|
||||
.IP "--pad-brackets-out"
|
||||
Insert space padding around square brackets the outside only.
|
||||
|
||||
.IP "--unpad-brackets"
|
||||
Remove unnecessary space padding around square brackets (experimental).
|
||||
Remove unnecessary space padding around square brackets.
|
||||
|
||||
.IP "--delete-empty-lines OR -xe"
|
||||
Delete empty lines within a function or method.
|
||||
@@ -270,10 +286,10 @@ the operator type (left), middle, or operator name (right).
|
||||
If not set, follow pointer alignment.
|
||||
|
||||
.IP "--squeeze-lines=#"
|
||||
Remove superfluous empty lines exceeding the given number (experimental).
|
||||
Remove superfluous empty lines exceeding the given number.
|
||||
|
||||
.IP "--squeeze-ws"
|
||||
Remove superfluous whitespace (experimental).
|
||||
Remove superfluous whitespace.
|
||||
|
||||
.SH Formatting Options
|
||||
|
||||
@@ -289,6 +305,7 @@ Break one line headers (e.g. 'if', 'while', 'else', ...) from a
|
||||
statement residing on the same line.
|
||||
|
||||
.IP "--add-braces OR -j"
|
||||
.IP "--add-braces=nested (experimental)"
|
||||
Add braces to unbraced one line conditional statements.
|
||||
|
||||
.IP "--add-one-line-braces OR -J"
|
||||
@@ -349,6 +366,12 @@ Indent an Objective-C source file.
|
||||
.IP "--mode=js"
|
||||
Indent a JavaScript source file (experimental).
|
||||
|
||||
.IP "--mode=ghc"
|
||||
Indent a GHC source file (experimental).
|
||||
|
||||
.IP "--mode=gsc"
|
||||
Indent a GSC source file (experimental).
|
||||
|
||||
.SH Objective-C Options
|
||||
|
||||
.IP "--pad-method-prefix OR -xQ"
|
||||
@@ -517,6 +540,6 @@ astyle --style=allman --recursive /home/project/*.cpp,*.h
|
||||
astyle --style=allman < OriginalSourceFile > BeautifiedSourceFile
|
||||
|
||||
.SH AUTHORS
|
||||
Andre Simon <a.simon@mailbox.org>
|
||||
Andre Simon <as@andre-simon.de>
|
||||
.SH SEE ALSO
|
||||
More information at https://sourceforge.net/p/astyle/.
|
||||
|
||||
@@ -4,7 +4,7 @@ _astyle() {
|
||||
args=("${COMP_WORDS[@]}")
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
opts="--style --indent --attach-namespaces --attach-classes --attach-inlines --attach-extern-c --attach-closing-while --indent-classes --indent-modifiers --indent-switches --indent-cases --indent-namespaces --indent-after-parens --indent-continuation --indent-labels --indent-preproc-block --indent-preproc-cond --indent-preproc-define --indent-col1-comments --min-conditional-indent --max-continuation-indent --break-blocks --pad-oper --pad-comma --pad-paren --pad-paren-out --pad-first-paren-out --pad-paren-in --pad-header --unpad-paren --pad-brackets --unpad-brackets --delete-empty-lines --fill-empty-lines --align-pointer --align-reference --break-closing-braces --break-elseifs --break-one-line-headers --add-braces --add-one-line-braces --remove-braces --break-return-type --attach-return-type-decl --keep-one-line-blocks --keep-one-line-statements --convert-tabs --close-templates --remove-comment-prefix --max-code-length --break-after-logical mode --pad-method-prefix --unpad-method-prefix --pad-return-type --unpad-return-type --pad-param-type --unpad-param-type --align-method-colon --pad-method-colon --suffix --recursive --dry-run --exclude --ignore-exclude-errors --ignore-exclude-errors-x --errors-to-stdout --preserve-date --verbose --formatted --quiet --lineend --options --project --ascii --version --help --html --stdin --stdout --squeeze-lines --squeeze-ws"
|
||||
opts="--style --indent --attach-namespaces --attach-classes --attach-inlines --attach-extern-c --attach-closing-while --indent-classes --indent-modifiers --indent-switches --indent-cases --indent-namespaces --indent-after-parens --indent-continuation --indent-labels --indent-preproc-block --indent-preproc-cond --indent-preproc-define --indent-col1-comments --min-conditional-indent --max-continuation-indent --break-blocks --pad-oper --pad-comma --pad-negation --pad-paren --pad-paren-out --pad-first-paren-out --pad-paren-in --pad-header --unpad-paren --pad-empty-paren --pad-brackets --unpad-brackets --delete-empty-lines --fill-empty-lines --align-pointer --align-reference --break-closing-braces --break-elseifs --break-one-line-headers --add-braces --add-one-line-braces --remove-braces --break-return-type --attach-return-type-decl --keep-one-line-blocks --keep-one-line-statements --convert-tabs --close-templates --remove-comment-prefix --max-code-length --break-after-logical mode --pad-method-prefix --unpad-method-prefix --pad-return-type --unpad-return-type --pad-param-type --unpad-param-type --align-method-colon --pad-method-colon --suffix --recursive --dry-run --exclude --ignore-exclude-errors --ignore-exclude-errors-x --errors-to-stdout --preserve-date --verbose --formatted --quiet --lineend --options --project --ascii --version --help --html --stdin --stdout --squeeze-lines --squeeze-ws"
|
||||
|
||||
case "$prev" in
|
||||
--style)
|
||||
|
||||
@@ -29,6 +29,7 @@ complete -c astyle -l pad-first-paren-out -d 'Insert space padding around first
|
||||
complete -c astyle -l pad-paren-in -d 'Insert space padding around parenthesis on the inside only'
|
||||
complete -c astyle -l pad-header -d 'Insert space padding after paren headers (e.g'
|
||||
complete -c astyle -l unpad-paren -d 'Remove unnecessary space padding around parenthesis'
|
||||
complete -c astyle -l pad-empty-paren -d 'Apply padding to empty pairs of parentheses'
|
||||
complete -c astyle -l pad-brackets -d 'Insert space padding around square brackets on both the outside and the inside (experimental)'
|
||||
complete -c astyle -l unpad-brackets -d 'Remove unnecessary space padding around square brackets (experimental)'
|
||||
complete -c astyle -l delete-empty-lines -d 'Delete empty lines within a function or method'
|
||||
|
||||
@@ -32,6 +32,7 @@ _astyle() {
|
||||
"--pad-paren-in[Insert space padding around parenthesis on the inside only]"
|
||||
"--pad-header[Insert space padding after paren headers (e.g]"
|
||||
"--unpad-paren[Remove unnecessary space padding around parenthesis]"
|
||||
"--pad-empty-paren[Apply padding to empty pairs of parentheses]"
|
||||
"--pad-brackets[Insert space padding around square brackets on both the outside and the inside (experimental)]"
|
||||
"--unpad-brackets[Remove unnecessary space padding around square brackets (experimental)]"
|
||||
"--delete-empty-lines[Delete empty lines within a function or method]"
|
||||
|
||||
@@ -89,6 +89,9 @@ parser:flag "--pad-oper"
|
||||
parser:flag "--pad-comma"
|
||||
:description "Insert space padding after commas"
|
||||
|
||||
parser:flag "--pad-negation"
|
||||
:description "Insert space padding after negations"
|
||||
|
||||
parser:flag "--pad-paren"
|
||||
:description "Insert space padding around parenthesis on both the outside and the inside"
|
||||
|
||||
@@ -108,7 +111,13 @@ parser:flag "--unpad-paren"
|
||||
:description "Remove unnecessary space padding around parenthesis"
|
||||
|
||||
parser:flag "--pad-brackets"
|
||||
:description "Insert space padding around square brackets on both the outside and the inside (experimental)."
|
||||
:description "Insert space padding around square brackets on both the outside and the inside."
|
||||
|
||||
parser:flag "--pad-brackets-in"
|
||||
:description "Insert space padding around square brackets on the inside only."
|
||||
|
||||
parser:flag "--pad-brackets-out"
|
||||
:description "Insert space padding around square brackets on the outside only."
|
||||
|
||||
parser:flag "--unpad-brackets"
|
||||
:description "Remove unnecessary space padding around square brackets (experimental)."
|
||||
|
||||
+269
-107
@@ -72,6 +72,7 @@ ASBeautifier::ASBeautifier()
|
||||
setPreprocDefineIndent(false);
|
||||
setPreprocConditionalIndent(false);
|
||||
setAlignMethodColon(false);
|
||||
isInAssignment = isInInitializerList = isInMultiLineString = false;
|
||||
|
||||
// initialize ASBeautifier member vectors
|
||||
beautifierFileType = INVALID_TYPE; // reset to an invalid type
|
||||
@@ -209,6 +210,10 @@ ASBeautifier::ASBeautifier(const ASBeautifier& other) : ASBase(other)
|
||||
caseIndent = other.caseIndent;
|
||||
squeezeWhitespace = other.squeezeWhitespace;
|
||||
attemptLambdaIndentation = other.attemptLambdaIndentation;
|
||||
isInAssignment = other.isInAssignment;
|
||||
isInInitializerList = other.isInInitializerList;
|
||||
isInMultiLineString = other.isInMultiLineString;
|
||||
|
||||
namespaceIndent = other.namespaceIndent;
|
||||
braceIndent = other.braceIndent;
|
||||
braceIndentVtk = other.braceIndentVtk;
|
||||
@@ -238,7 +243,7 @@ ASBeautifier::ASBeautifier(const ASBeautifier& other) : ASBase(other)
|
||||
shouldAlignMethodColon = other.shouldAlignMethodColon;
|
||||
shouldIndentPreprocDefine = other.shouldIndentPreprocDefine;
|
||||
shouldIndentPreprocConditional = other.shouldIndentPreprocConditional;
|
||||
lambdaIndicator = other.lambdaIndicator;
|
||||
lambdaIndicator = other.lambdaIndicator;
|
||||
|
||||
indentCount = other.indentCount;
|
||||
spaceIndentCount = other.spaceIndentCount;
|
||||
@@ -420,6 +425,7 @@ void ASBeautifier::init(ASSourceIterator* iter)
|
||||
isInBeautifySQL = false;
|
||||
isInIndentableStruct = false;
|
||||
isInIndentablePreproc = false;
|
||||
|
||||
inLineNumber = 0;
|
||||
runInIndentContinuation = 0;
|
||||
nonInStatementBrace = 0;
|
||||
@@ -537,20 +543,28 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
lineBeginsWithCloseBrace = true;
|
||||
else if (line[0] == ',')
|
||||
lineBeginsWithComma = true;
|
||||
else if (line.compare(0, 2, "//") == 0)
|
||||
else if (line.compare(0, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
|
||||
lineIsLineCommentOnly = true;
|
||||
else if (line.compare(0, 2, "/*") == 0)
|
||||
else if (line.compare(0, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0)
|
||||
{
|
||||
if (line.find("*/", 2) != std::string::npos)
|
||||
if (line.find(AS_CLOSE_COMMENT, AS_CLOSE_COMMENT.length()) != std::string::npos)
|
||||
lineIsCommentOnly = true;
|
||||
}
|
||||
else if (line.compare(0, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
|
||||
{
|
||||
if (line.find(AS_GSC_CLOSE_COMMENT, AS_GSC_CLOSE_COMMENT.length()) != std::string::npos)
|
||||
lineIsCommentOnly = true;
|
||||
}
|
||||
}
|
||||
|
||||
isInRunInComment = false;
|
||||
size_t j = line.find_first_not_of(" \t{");
|
||||
if (j != std::string::npos && line.compare(j, 2, "//") == 0)
|
||||
if ( j != std::string::npos
|
||||
&& line.compare(j, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
|
||||
lineOpensWithLineComment = true;
|
||||
if (j != std::string::npos && line.compare(j, 2, "/*") == 0)
|
||||
if (j != std::string::npos
|
||||
&& (line.compare(j, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|
||||
|| line.compare(j, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0))
|
||||
{
|
||||
lineOpensWithComment = true;
|
||||
size_t k = line.find_first_not_of(" \t");
|
||||
@@ -601,16 +615,16 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
&& line.length() > 0
|
||||
&& line[0] != '#')
|
||||
{
|
||||
std::string indentedLine;
|
||||
if (isIndentModeOff)
|
||||
return originalLine;
|
||||
|
||||
if (isInClassHeaderTab || isInClassInitializer)
|
||||
{
|
||||
// parsing is turned off in ASFormatter by indent-off
|
||||
// the originalLine will probably never be returned here
|
||||
indentedLine = preLineWS(prevFinalLineIndentCount, prevFinalLineSpaceIndentCount) + line;
|
||||
return getIndentedLineReturn(indentedLine, originalLine);
|
||||
return preLineWS(prevFinalLineIndentCount, prevFinalLineSpaceIndentCount) + line;
|
||||
}
|
||||
indentedLine = preLineWS(preprocBlockIndent, 0) + line;
|
||||
return getIndentedLineReturn(indentedLine, originalLine);
|
||||
return preLineWS(preprocBlockIndent, 0) + line;
|
||||
}
|
||||
|
||||
if (!isInComment
|
||||
@@ -645,10 +659,18 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
}
|
||||
else
|
||||
indentedLine = preLineWS(preprocBlockIndent, 0) + line;
|
||||
return getIndentedLineReturn(indentedLine, originalLine);
|
||||
|
||||
if (isIndentModeOff)
|
||||
return originalLine;
|
||||
else
|
||||
return indentedLine;
|
||||
}
|
||||
if (shouldIndentPreprocConditional && preproc.length() > 0)
|
||||
{
|
||||
|
||||
if (isIndentModeOff)
|
||||
return originalLine;
|
||||
|
||||
std::string indentedLine;
|
||||
if (preproc.length() >= 2 && preproc.substr(0, 2) == "if") // #if, #ifdef, #ifndef
|
||||
{
|
||||
@@ -660,7 +682,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
preprocIndentStack->emplace_back(entry);
|
||||
indentedLine = preLineWS(preprocIndentStack->back().first,
|
||||
preprocIndentStack->back().second) + line;
|
||||
return getIndentedLineReturn(indentedLine, originalLine);
|
||||
return indentedLine;
|
||||
}
|
||||
if (preproc == "else" || preproc == "elif")
|
||||
{
|
||||
@@ -668,7 +690,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
{
|
||||
indentedLine = preLineWS(preprocIndentStack->back().first,
|
||||
preprocIndentStack->back().second) + line;
|
||||
return getIndentedLineReturn(indentedLine, originalLine);
|
||||
return indentedLine;
|
||||
}
|
||||
}
|
||||
else if (preproc == "endif")
|
||||
@@ -678,7 +700,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
indentedLine = preLineWS(preprocIndentStack->back().first,
|
||||
preprocIndentStack->back().second) + line;
|
||||
preprocIndentStack->pop_back();
|
||||
return getIndentedLineReturn(indentedLine, originalLine);
|
||||
return indentedLine;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -698,14 +720,14 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
{
|
||||
isInDefineDefinition = false;
|
||||
// this could happen with invalid input
|
||||
if (activeBeautifierStack->empty())
|
||||
if (activeBeautifierStack->empty() || isIndentModeOff)
|
||||
return originalLine;
|
||||
ASBeautifier* defineBeautifier = activeBeautifierStack->back();
|
||||
activeBeautifierStack->pop_back();
|
||||
|
||||
std::string indentedLine = defineBeautifier->beautify(line);
|
||||
delete defineBeautifier;
|
||||
return getIndentedLineReturn(indentedLine, originalLine);
|
||||
return indentedLine;
|
||||
}
|
||||
|
||||
// unless this is a multi-line #define, return this precompiler line as is.
|
||||
@@ -799,8 +821,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
|
||||
indentCount = spaceIndentCount = 0;
|
||||
|
||||
// finally, insert indentations into beginning of line
|
||||
std::string indentedLine = preLineWS(indentCount, spaceIndentCount) + line;
|
||||
indentedLine = getIndentedLineReturn(indentedLine, originalLine);
|
||||
std::string indentedLine = isIndentModeOff ? originalLine : preLineWS(indentCount, spaceIndentCount) + line;
|
||||
|
||||
prevFinalLineSpaceIndentCount = spaceIndentCount;
|
||||
prevFinalLineIndentCount = indentCount;
|
||||
@@ -855,6 +876,14 @@ void ASBeautifier::setSharpStyle()
|
||||
fileType = SHARP_TYPE;
|
||||
}
|
||||
|
||||
/**
|
||||
* set indentation style to GSC.
|
||||
*/
|
||||
void ASBeautifier::setGSCStyle()
|
||||
{
|
||||
fileType = GSC_TYPE;
|
||||
}
|
||||
|
||||
/**
|
||||
* set mode manually set flag
|
||||
*/
|
||||
@@ -1300,13 +1329,6 @@ int ASBeautifier::getTabLength() const
|
||||
return tabLength;
|
||||
}
|
||||
|
||||
const std::string& ASBeautifier::getIndentedLineReturn(const std::string& newLine, const std::string& originalLine) const
|
||||
{
|
||||
if (isIndentModeOff)
|
||||
return originalLine;
|
||||
return newLine;
|
||||
}
|
||||
|
||||
std::string ASBeautifier::preLineWS(int lineIndentCount, int lineSpaceIndentCount) const
|
||||
{
|
||||
if (shouldForceTabIndentation)
|
||||
@@ -1337,9 +1359,10 @@ std::string ASBeautifier::preLineWS(int lineIndentCount, int lineSpaceIndentCoun
|
||||
/**
|
||||
* register a continuation indent.
|
||||
*/
|
||||
void ASBeautifier::registerContinuationIndent(const std::string& line, int i, int spaceIndentCount_,
|
||||
void ASBeautifier::registerContinuationIndent(std::string_view line, int i, int spaceIndentCount_,
|
||||
int tabIncrementIn, int minIndent, bool updateParenStack)
|
||||
{
|
||||
//return;
|
||||
assert(i >= -1);
|
||||
int remainingCharNum = line.length() - i;
|
||||
int nextNonWSChar = getNextProgramCharDistance(line, i);
|
||||
@@ -1349,14 +1372,25 @@ void ASBeautifier::registerContinuationIndent(const std::string& line, int i, in
|
||||
if (nextNonWSChar == remainingCharNum || shouldIndentAfterParen)
|
||||
{
|
||||
int previousIndent = spaceIndentCount_;
|
||||
|
||||
if (!continuationIndentStack->empty())
|
||||
previousIndent = continuationIndentStack->back();
|
||||
|
||||
int currIndent = continuationIndent * indentLength + previousIndent;
|
||||
|
||||
// GL29
|
||||
if (shouldIndentAfterParen) {
|
||||
currIndent = indentLength;
|
||||
}
|
||||
|
||||
if (currIndent > maxContinuationIndent && line[i] != '{')
|
||||
currIndent = indentLength * 2 + spaceIndentCount_;
|
||||
|
||||
continuationIndentStack->emplace_back(currIndent);
|
||||
if (updateParenStack)
|
||||
if (updateParenStack) {
|
||||
parenIndentStack->emplace_back(previousIndent);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1386,9 +1420,10 @@ void ASBeautifier::registerContinuationIndent(const std::string& line, int i, in
|
||||
continuationIndentCount = minIndent + spaceIndentCount_;
|
||||
|
||||
// this is not done for an in-statement array
|
||||
int multiplier = isInAssignment ? 1 : 2; // GL16 - no multiply in assignments
|
||||
if (continuationIndentCount > maxContinuationIndent
|
||||
&& !(prevNonLegalCh == '=' && currentNonLegalCh == '{'))
|
||||
continuationIndentCount = indentLength * 2 + spaceIndentCount_;
|
||||
continuationIndentCount = indentLength * multiplier + spaceIndentCount_;
|
||||
|
||||
if (!continuationIndentStack->empty()
|
||||
&& continuationIndentCount < continuationIndentStack->back())
|
||||
@@ -1405,7 +1440,7 @@ void ASBeautifier::registerContinuationIndent(const std::string& line, int i, in
|
||||
/**
|
||||
* Register a continuation indent for a class header or a class initializer colon.
|
||||
*/
|
||||
void ASBeautifier::registerContinuationIndentColon(const std::string& line, int i, int tabIncrementIn)
|
||||
void ASBeautifier::registerContinuationIndentColon(std::string_view line, int i, int tabIncrementIn)
|
||||
{
|
||||
assert(line[i] == ':');
|
||||
assert(isInClassInitializer || isInClassHeaderTab);
|
||||
@@ -1447,7 +1482,7 @@ std::pair<int, int> ASBeautifier::computePreprocessorIndent()
|
||||
* get distance to the next non-white space, non-comment character in the line.
|
||||
* if no such character exists, return the length remaining to the end of the line.
|
||||
*/
|
||||
int ASBeautifier::getNextProgramCharDistance(const std::string& line, int i) const
|
||||
int ASBeautifier::getNextProgramCharDistance(std::string_view line, int i) const
|
||||
{
|
||||
bool inComment = false;
|
||||
int remainingCharNum = line.length() - i;
|
||||
@@ -1459,7 +1494,8 @@ int ASBeautifier::getNextProgramCharDistance(const std::string& line, int i) con
|
||||
ch = line[i + charDistance];
|
||||
if (inComment)
|
||||
{
|
||||
if (line.compare(i + charDistance, 2, "*/") == 0)
|
||||
if (line.compare(i + charDistance, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) == 0
|
||||
|| line.compare(i + charDistance, AS_GSC_CLOSE_COMMENT.length(), AS_GSC_CLOSE_COMMENT) == 0)
|
||||
{
|
||||
charDistance++;
|
||||
inComment = false;
|
||||
@@ -1470,9 +1506,10 @@ int ASBeautifier::getNextProgramCharDistance(const std::string& line, int i) con
|
||||
continue;
|
||||
if (ch == '/')
|
||||
{
|
||||
if (line.compare(i + charDistance, 2, "//") == 0)
|
||||
if (line.compare(i + charDistance, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
|
||||
return remainingCharNum;
|
||||
if (line.compare(i + charDistance, 2, "/*") == 0)
|
||||
if (line.compare(i + charDistance, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|
||||
|| line.compare(i + charDistance, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
|
||||
{
|
||||
charDistance++;
|
||||
inComment = true;
|
||||
@@ -1520,7 +1557,7 @@ int ASBeautifier::convertTabToSpaces(int i, int tabIncrementIn) const
|
||||
* @return the trimmed line.
|
||||
* @param str the line to trim.
|
||||
*/
|
||||
std::string ASBeautifier::trim(const std::string& str) const
|
||||
std::string ASBeautifier::trim(std::string_view str) const
|
||||
{
|
||||
int start = 0;
|
||||
int end = str.length() - 1;
|
||||
@@ -1545,15 +1582,14 @@ std::string ASBeautifier::trim(const std::string& str) const
|
||||
* @return the trimmed line.
|
||||
* @param str the line to trim.
|
||||
*/
|
||||
std::string ASBeautifier::rtrim(const std::string& str) const
|
||||
std::string ASBeautifier::rtrim(std::string_view str) const
|
||||
{
|
||||
size_t len = str.length();
|
||||
size_t end = str.find_last_not_of(" \t");
|
||||
if (end == std::string::npos
|
||||
|| end == len - 1)
|
||||
return str;
|
||||
std::string returnStr(str, 0, end + 1);
|
||||
return returnStr;
|
||||
return std::string(str);
|
||||
return std::string(str.substr(0, end + 1));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1683,7 +1719,7 @@ void ASBeautifier::initTempStacksContainer(std::vector<std::vector<const std::st
|
||||
*
|
||||
* @return true if line ends with a comma, otherwise false.
|
||||
*/
|
||||
bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) const
|
||||
bool ASBeautifier::statementEndsWithComma(std::string_view line, int index) const
|
||||
{
|
||||
assert(line[index] == '=');
|
||||
|
||||
@@ -1700,7 +1736,7 @@ bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) co
|
||||
|
||||
if (isInComment_)
|
||||
{
|
||||
if (line.compare(i, 2, "*/") == 0)
|
||||
if (line.compare(i, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) == 0)
|
||||
{
|
||||
isInComment_ = false;
|
||||
++i;
|
||||
@@ -1729,10 +1765,11 @@ bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) co
|
||||
continue;
|
||||
}
|
||||
|
||||
if (line.compare(i, 2, "//") == 0)
|
||||
if (line.compare(i, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
|
||||
break;
|
||||
|
||||
if (line.compare(i, 2, "/*") == 0)
|
||||
if (line.compare(i, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|
||||
|| line.compare(i, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
|
||||
{
|
||||
if (isLineEndComment(line, i))
|
||||
break;
|
||||
@@ -1764,12 +1801,15 @@ bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) co
|
||||
*
|
||||
* @return is before a line-end comment.
|
||||
*/
|
||||
bool ASBeautifier::isLineEndComment(const std::string& line, int startPos) const
|
||||
bool ASBeautifier::isLineEndComment(std::string_view line, int startPos) const
|
||||
{
|
||||
assert(line.compare(startPos, 2, "/*") == 0);
|
||||
assert(line.compare(startPos, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|
||||
|| line.compare(startPos, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0 );
|
||||
|
||||
bool isCppComment = line.compare(startPos, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT);
|
||||
|
||||
// comment must be closed on this line with nothing after it
|
||||
size_t endNum = line.find("*/", startPos + 2);
|
||||
size_t endNum = line.find(isCppComment ? AS_CLOSE_COMMENT : AS_GSC_CLOSE_COMMENT, startPos + 2);
|
||||
if (endNum != std::string::npos)
|
||||
{
|
||||
size_t nextChar = line.find_first_not_of(" \t", endNum + 2);
|
||||
@@ -1784,7 +1824,7 @@ bool ASBeautifier::isLineEndComment(const std::string& line, int startPos) const
|
||||
*
|
||||
* @return is the index to the previous word (the in statement indent).
|
||||
*/
|
||||
int ASBeautifier::getContinuationIndentAssign(const std::string& line, size_t currPos) const
|
||||
int ASBeautifier::getContinuationIndentAssign(std::string_view line, size_t currPos) const
|
||||
{
|
||||
assert(line[currPos] == '=');
|
||||
|
||||
@@ -1812,7 +1852,7 @@ int ASBeautifier::getContinuationIndentAssign(const std::string& line, size_t cu
|
||||
*
|
||||
* @return is the indent to the second word on the line (the in statement indent).
|
||||
*/
|
||||
int ASBeautifier::getContinuationIndentComma(const std::string& line, size_t currPos) const
|
||||
int ASBeautifier::getContinuationIndentComma(std::string_view line, size_t currPos) const
|
||||
{
|
||||
assert(line[currPos] == ',');
|
||||
|
||||
@@ -1873,10 +1913,10 @@ std::string ASBeautifier::getNextWord(const std::string& line, size_t currPos) c
|
||||
*
|
||||
* @return is true or false.
|
||||
*/
|
||||
bool ASBeautifier::isIndentedPreprocessor(const std::string& line, size_t currPos) const
|
||||
bool ASBeautifier::isIndentedPreprocessor(std::string_view line, size_t currPos) const
|
||||
{
|
||||
assert(line[0] == '#');
|
||||
std::string nextWord = getNextWord(line, currPos);
|
||||
std::string nextWord = getNextWord(std::string(line), currPos);
|
||||
if (nextWord == "region" || nextWord == "endregion")
|
||||
return true;
|
||||
// is it #pragma omp
|
||||
@@ -1907,7 +1947,7 @@ bool ASBeautifier::isIndentedPreprocessor(const std::string& line, size_t currPo
|
||||
break;
|
||||
}
|
||||
// check for "pragma omp"
|
||||
std::string word = line.substr(start, end - start);
|
||||
std::string_view word = line.substr(start, end - start);
|
||||
if (word == "omp" || word == "region" || word == "endregion")
|
||||
return true;
|
||||
}
|
||||
@@ -1919,7 +1959,7 @@ bool ASBeautifier::isIndentedPreprocessor(const std::string& line, size_t currPo
|
||||
*
|
||||
* @return is true or false.
|
||||
*/
|
||||
bool ASBeautifier::isPreprocessorConditionalCplusplus(const std::string& line) const
|
||||
bool ASBeautifier::isPreprocessorConditionalCplusplus(std::string_view line) const
|
||||
{
|
||||
std::string preproc = trim(line.substr(1));
|
||||
if (preproc.compare(0, 5, "ifdef") == 0 && getNextWord(preproc, 4) == "__cplusplus")
|
||||
@@ -1951,15 +1991,15 @@ bool ASBeautifier::isPreprocessorConditionalCplusplus(const std::string& line) c
|
||||
*
|
||||
* @return is true or false.
|
||||
*/
|
||||
bool ASBeautifier::isInPreprocessorUnterminatedComment(const std::string& line)
|
||||
bool ASBeautifier::isInPreprocessorUnterminatedComment(std::string_view line)
|
||||
{
|
||||
if (!isInPreprocessorComment)
|
||||
{
|
||||
size_t startPos = line.find("/*");
|
||||
size_t startPos = line.find(AS_OPEN_COMMENT);
|
||||
if (startPos == std::string::npos)
|
||||
return false;
|
||||
}
|
||||
size_t endNum = line.find("*/");
|
||||
size_t endNum = line.find(AS_CLOSE_COMMENT);
|
||||
if (endNum != std::string::npos)
|
||||
{
|
||||
isInPreprocessorComment = false;
|
||||
@@ -1986,7 +2026,7 @@ int ASBeautifier::getBeautifierFileType() const
|
||||
/**
|
||||
* Process preprocessor statements and update the beautifier stacks.
|
||||
*/
|
||||
void ASBeautifier::processPreprocessor(const std::string& preproc, const std::string& line)
|
||||
void ASBeautifier::processPreprocessor(std::string_view preproc, std::string_view line)
|
||||
{
|
||||
// When finding a multi-lined #define statement, the original beautifier
|
||||
// 1. sets its isInDefineDefinition flag
|
||||
@@ -2104,10 +2144,12 @@ void ASBeautifier::computePreliminaryIndentation()
|
||||
|| (*headerStack)[i] == &AS_THROWS
|
||||
|| (*headerStack)[i] == &AS_STATIC))
|
||||
++indentCount;
|
||||
} else {
|
||||
//GL37
|
||||
if (!(i > 0 && (*headerStack)[i - 1] != &AS_OPEN_BRACE
|
||||
&& (*headerStack)[i] == &AS_OPEN_BRACE))
|
||||
++indentCount;
|
||||
}
|
||||
else if (!(i > 0 && (*headerStack)[i - 1] != &AS_OPEN_BRACE
|
||||
&& (*headerStack)[i] == &AS_OPEN_BRACE))
|
||||
++indentCount;
|
||||
|
||||
if (!isJavaStyle() && !namespaceIndent && i > 0
|
||||
&& ((*headerStack)[i - 1] == &AS_NAMESPACE
|
||||
@@ -2133,6 +2175,24 @@ void ASBeautifier::computePreliminaryIndentation()
|
||||
isInSwitch = true;
|
||||
}
|
||||
|
||||
// GL26 check if line is a label.... do not indent
|
||||
//std::cerr << "line "<<line<< "\n";
|
||||
/*
|
||||
if (!blockIndent) {
|
||||
|
||||
size_t lastCharPos = line.find_last_not_of(" \t");
|
||||
if ( isCStyle()
|
||||
&& line[lastCharPos] == ':'
|
||||
|
||||
) {
|
||||
if (labelIndent)
|
||||
--indentCount; // unindent label by one indent
|
||||
else
|
||||
indentCount = 0;
|
||||
}
|
||||
|
||||
} */
|
||||
|
||||
} // end of for loop
|
||||
|
||||
if (isInClassHeader)
|
||||
@@ -2205,6 +2265,8 @@ void ASBeautifier::computePreliminaryIndentation()
|
||||
--indentCount;
|
||||
if (g_preprocessorCppExternCBrace >= 4)
|
||||
--indentCount;
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ASBeautifier::adjustParsedLineIndentation(size_t iPrelim, bool isInExtraHeaderIndent)
|
||||
@@ -2318,7 +2380,7 @@ int ASBeautifier::adjustIndentCountForBreakElseIfComments() const
|
||||
* Extract a preprocessor statement without the #.
|
||||
* If a error occurs an empty std::string is returned.
|
||||
*/
|
||||
std::string ASBeautifier::extractPreprocessorStatement(const std::string& line) const
|
||||
std::string ASBeautifier::extractPreprocessorStatement(std::string_view line) const
|
||||
{
|
||||
std::string preproc;
|
||||
size_t start = line.find_first_not_of("#/ \t");
|
||||
@@ -2331,7 +2393,7 @@ std::string ASBeautifier::extractPreprocessorStatement(const std::string& line)
|
||||
return preproc;
|
||||
}
|
||||
|
||||
void ASBeautifier::adjustObjCMethodDefinitionIndentation(const std::string& line_)
|
||||
void ASBeautifier::adjustObjCMethodDefinitionIndentation(std::string_view line_)
|
||||
{
|
||||
// register indent for Objective-C continuation line
|
||||
if (line_.length() > 0
|
||||
@@ -2362,7 +2424,7 @@ void ASBeautifier::adjustObjCMethodDefinitionIndentation(const std::string& line
|
||||
}
|
||||
}
|
||||
|
||||
void ASBeautifier::adjustObjCMethodCallIndentation(const std::string& line_)
|
||||
void ASBeautifier::adjustObjCMethodCallIndentation(std::string_view line_)
|
||||
{
|
||||
static int keywordIndentObjCMethodAlignment = 0;
|
||||
if (shouldAlignMethodColon && objCColonAlignSubsequent != -1)
|
||||
@@ -2439,7 +2501,7 @@ void ASBeautifier::clearObjCMethodDefinitionAlignment()
|
||||
* Find the first alignment colon on a line.
|
||||
* Ternary operators (?) are bypassed.
|
||||
*/
|
||||
int ASBeautifier::findObjCColonAlignment(const std::string& line) const
|
||||
int ASBeautifier::findObjCColonAlignment(std::string_view line) const
|
||||
{
|
||||
bool haveTernary = false;
|
||||
for (size_t i = 0; i < line.length(); i++)
|
||||
@@ -2463,13 +2525,41 @@ int ASBeautifier::findObjCColonAlignment(const std::string& line) const
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* chatgpt
|
||||
|
||||
int ASBeautifier::findObjCColonAlignment(const std::string& line) const
|
||||
{
|
||||
bool haveTernary = false;
|
||||
for (char c : line)
|
||||
{
|
||||
if (c == ':' || c == '?')
|
||||
{
|
||||
if (c == '?')
|
||||
{
|
||||
haveTernary = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (haveTernary)
|
||||
{
|
||||
haveTernary = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
return &c - line.c_str(); // Calculate the index of the found character
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compute the spaceIndentCount necessary to align the current line colon
|
||||
* with the colon position in the argument.
|
||||
* If it cannot be aligned indentLength is returned and a new colon
|
||||
* position is calculated.
|
||||
*/
|
||||
int ASBeautifier::computeObjCColonAlignment(const std::string& line, int colonAlignPosition) const
|
||||
int ASBeautifier::computeObjCColonAlignment(std::string_view line, int colonAlignPosition) const
|
||||
{
|
||||
int colonPosition = findObjCColonAlignment(line);
|
||||
if (colonPosition < 0 || colonPosition > colonAlignPosition)
|
||||
@@ -2483,7 +2573,7 @@ int ASBeautifier::computeObjCColonAlignment(const std::string& line, int colonAl
|
||||
* Use for now and see what happens.
|
||||
* Most programmers will probably use align-method-colon anyway.
|
||||
*/
|
||||
int ASBeautifier::getObjCFollowingKeyword(const std::string& line, int bracePos) const
|
||||
int ASBeautifier::getObjCFollowingKeyword(std::string_view line, int bracePos) const
|
||||
{
|
||||
assert(line[bracePos] == '[');
|
||||
size_t firstText = line.find_first_not_of(" \t", bracePos + 1);
|
||||
@@ -2514,7 +2604,8 @@ int ASBeautifier::getObjCFollowingKeyword(const std::string& line, int bracePos)
|
||||
size_t keyPos = line.find_first_not_of(" \t", objectEnd + 1);
|
||||
if (keyPos == std::string::npos)
|
||||
return 0;
|
||||
return keyPos - firstText;
|
||||
|
||||
return static_cast<int>(keyPos - firstText); // Cast to int for return value
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2522,11 +2613,11 @@ int ASBeautifier::getObjCFollowingKeyword(const std::string& line, int bracePos)
|
||||
* The indentCount is NOT included
|
||||
* Needed to compute an accurate alignment.
|
||||
*/
|
||||
std::string ASBeautifier::getIndentedSpaceEquivalent(const std::string& line_) const
|
||||
std::string ASBeautifier::getIndentedSpaceEquivalent(std::string_view line_) const
|
||||
{
|
||||
std::string spaceIndent;
|
||||
spaceIndent.append(spaceIndentCount, ' ');
|
||||
std::string convertedLine = spaceIndent + line_;
|
||||
std::string convertedLine = spaceIndent + std::string(line_);
|
||||
for (size_t i = spaceIndent.length(); i < convertedLine.length(); i++)
|
||||
{
|
||||
if (convertedLine[i] == '\t')
|
||||
@@ -2570,7 +2661,7 @@ bool ASBeautifier::isTopLevel() const
|
||||
/**
|
||||
* Parse the current line to update indentCount and spaceIndentCount.
|
||||
*/
|
||||
void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
void ASBeautifier::parseCurrentLine(std::string_view line)
|
||||
{
|
||||
bool isInLineComment = false;
|
||||
bool isInOperator = false;
|
||||
@@ -2582,10 +2673,12 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
char ch = ' ';
|
||||
int tabIncrementIn = 0;
|
||||
|
||||
|
||||
if (isInQuote
|
||||
&& !haveLineContinuationChar
|
||||
&& !isInVerbatimQuote
|
||||
&& !isInAsm)
|
||||
&& !isInAsm
|
||||
&& !isInMultiLineString)
|
||||
isInQuote = false; // missing closing quote
|
||||
|
||||
haveLineContinuationChar = false;
|
||||
@@ -2597,6 +2690,8 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
if (isInBeautifySQL)
|
||||
continue;
|
||||
|
||||
bool isTripleQuoteDelimiter = (isJavaStyle() || isSharpStyle() ) && line.length() > i + 2 && line[i + 1] == '"' && line[i + 2 ] == '"';
|
||||
|
||||
// handle special characters (i.e. backslash+character such as \n, \t, ...)
|
||||
if (isInQuote && !isInVerbatimQuote)
|
||||
{
|
||||
@@ -2625,8 +2720,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
// bypass whitespace here
|
||||
if (isWhiteSpace(ch))
|
||||
{
|
||||
if (squeezeWhitespace && !isInComment && !isInQuote && isWhiteSpace(line[i+1]) && !isWhiteSpace(line[i-1])) {
|
||||
size_t wsSpanEnd = line.find_first_not_of(" \t", i+1);
|
||||
if (squeezeWhitespace && !isInComment && !isInQuote && isWhiteSpace(line[i + 1]) && !isWhiteSpace(line[i - 1]))
|
||||
{
|
||||
size_t wsSpanEnd = line.find_first_not_of(" \t", i + 1);
|
||||
std::pair<size_t, size_t> wsSpan(i, wsSpanEnd - i - 1);
|
||||
squeezeWSStack.emplace_back(wsSpan);
|
||||
}
|
||||
@@ -2641,15 +2737,18 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
&& (ch == '"'
|
||||
|| (ch == '\'' && !isDigitSeparator(line, i))))
|
||||
{
|
||||
if (!isInQuote)
|
||||
if (!isInQuote && !isInMultiLineString)
|
||||
{
|
||||
quoteChar = ch;
|
||||
isInQuote = true;
|
||||
isInMultiLineString = isTripleQuoteDelimiter;
|
||||
|
||||
char prevCh = i > 0 ? line[i - 1] : ' ';
|
||||
char prevPrevCh = i > 1 ? line[i - 2] : ' ';
|
||||
|
||||
// GL 32
|
||||
// https://sourceforge.net/p/astyle/bugs/535/
|
||||
if (isCStyle() && prevCh == 'R' && !(isalpha(prevNonSpaceCh) || prevNonSpaceCh == '(' ))
|
||||
if (isCStyle() && prevCh == 'R' && !isalpha(prevPrevCh) && !(isalpha(prevNonSpaceCh) ))
|
||||
{
|
||||
int parenPos = line.find('(', i);
|
||||
if (parenPos != -1)
|
||||
@@ -2679,7 +2778,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
else if (isSharpStyle())
|
||||
{
|
||||
if (line.compare(i, 2, "\"\"") == 0)
|
||||
{
|
||||
i++;
|
||||
}
|
||||
else
|
||||
{
|
||||
isInQuote = false;
|
||||
@@ -2688,6 +2789,13 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (isTripleQuoteDelimiter && isInMultiLineString)
|
||||
{
|
||||
isInMultiLineString = false;
|
||||
isInQuote = false;
|
||||
isContinuation = true;
|
||||
continue;
|
||||
}
|
||||
else if (quoteChar == ch)
|
||||
{
|
||||
isInQuote = false;
|
||||
@@ -2700,7 +2808,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
|
||||
// handle comments
|
||||
|
||||
if (!(isInComment || isInLineComment) && line.compare(i, 2, "//") == 0)
|
||||
if (!(isInComment || isInLineComment) && line.compare(i, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
|
||||
{
|
||||
// if there is a 'case' statement after these comments unindent by 1
|
||||
if (isCaseHeaderCommentIndent)
|
||||
@@ -2713,7 +2821,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
if (!(isInComment || isInLineComment) && line.compare(i, 2, "/*") == 0)
|
||||
if (!(isInComment || isInLineComment)
|
||||
&& (line.compare(i, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|
||||
|| line.compare(i, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0))
|
||||
{
|
||||
// if there is a 'case' statement after these comments unindent by 1
|
||||
if (isCaseHeaderCommentIndent && lineOpensWithComment)
|
||||
@@ -2728,7 +2838,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
blockCommentNoIndent = true; // if no, cannot indent continuation lines
|
||||
continue;
|
||||
}
|
||||
if ((isInComment || isInLineComment) && line.compare(i, 2, "*/") == 0)
|
||||
if ((isInComment || isInLineComment)
|
||||
&& (line.compare(i, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) == 0
|
||||
|| line.compare(i, AS_GSC_CLOSE_COMMENT.length(), AS_GSC_CLOSE_COMMENT) == 0))
|
||||
{
|
||||
size_t firstText = line.find_first_not_of(" \t");
|
||||
// if there is a 'case' statement after these comments unindent by 1
|
||||
@@ -2773,7 +2885,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
indentCount += adjustIndentCountForBreakElseIfComments();
|
||||
// bypass rest of the comment up to the comment end
|
||||
while (i + 1 < line.length()
|
||||
&& line.compare(i + 1, 2, "*/") != 0)
|
||||
&& line.compare(i + 1, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) != 0)
|
||||
i++;
|
||||
|
||||
continue;
|
||||
@@ -2811,7 +2923,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
|
||||
prevNonSpaceCh = currentNonSpaceCh;
|
||||
currentNonSpaceCh = ch;
|
||||
if (!isLegalNameChar(ch) && ch != ',' && ch != ';')
|
||||
|
||||
// #SF 97
|
||||
if (!isLegalNameChar(ch) /*&& ch != ',' && ch != ';'*/)
|
||||
{
|
||||
prevNonLegalCh = currentNonLegalCh;
|
||||
currentNonLegalCh = ch;
|
||||
@@ -2827,7 +2941,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
|
||||
if (isCStyle() && isInTemplate
|
||||
&& (ch == '<' || ch == '>')
|
||||
&& !(line.length() > i + 1 && line.compare(i, 2, ">=") == 0))
|
||||
&& !(line.length() > i + 1 && line.compare(i, AS_GR_EQUAL.length(), AS_GR_EQUAL) == 0))
|
||||
{
|
||||
if (ch == '<')
|
||||
{
|
||||
@@ -2848,8 +2962,10 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
}
|
||||
|
||||
// handle parentheses
|
||||
if (ch == '(' || ch == '[' || ch == ')' || ch == ']')
|
||||
if ((ch == '(' && !isInInitializerList) || ch == '[' || ch == ')' || ch == ']')
|
||||
{
|
||||
|
||||
// GL28 xx
|
||||
if (ch == '(' || ch == '[')
|
||||
{
|
||||
isInOperator = false;
|
||||
@@ -2885,13 +3001,14 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
}
|
||||
|
||||
// #121
|
||||
if (attemptLambdaIndentation // GH #7
|
||||
&& !isLegalNameChar(prevNonSpaceCh)
|
||||
&& prevNonSpaceCh != ']'
|
||||
&& prevNonSpaceCh != ')'
|
||||
&& prevNonSpaceCh != '*' // GH #11
|
||||
&& line.find(AS_AUTO, 0 ) == std::string::npos) {
|
||||
lambdaIndicator = true;
|
||||
if ( !isLegalNameChar(prevNonSpaceCh)
|
||||
&& prevNonSpaceCh != ']'
|
||||
&& prevNonSpaceCh != ')'
|
||||
&& prevNonSpaceCh != '*' // GL #11
|
||||
//&& line.find(AS_AUTO, 0 ) == std::string::npos
|
||||
)
|
||||
{
|
||||
lambdaIndicator = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2900,7 +3017,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
if (currentHeader != nullptr)
|
||||
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, minConditionalIndent, true);
|
||||
else if (!isInObjCMethodDefinition
|
||||
//&& xxxCondition && shouldForceTabIndentation // only count one opening parenthese per line #498
|
||||
//&& xxxCondition && shouldForceTabIndentation // only count one opening parentheses per line #498
|
||||
)
|
||||
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, 0, true);
|
||||
}
|
||||
@@ -2917,6 +3034,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
}
|
||||
foundPreCommandHeader = false;
|
||||
parenDepth--;
|
||||
|
||||
if (parenDepth == 0)
|
||||
{
|
||||
if (!parenStatementStack->empty()) // in case of unmatched closing parens
|
||||
@@ -2985,6 +3103,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
isBlockOpener = true;
|
||||
}
|
||||
|
||||
// GL28 fix initializer lists like x({a.x=0;})
|
||||
isInInitializerList = isCStyle() && isBlockOpener && (prevNonSpaceCh=='(' || prevNonSpaceCh=='=');
|
||||
|
||||
if (!isBlockOpener && currentHeader != nullptr)
|
||||
{
|
||||
for (const std::string* const nonParenHeader : *nonParenHeaders)
|
||||
@@ -2995,8 +3116,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
}
|
||||
}
|
||||
|
||||
// #121 fix indent of lambda bodies
|
||||
if (isCStyle() && lambdaIndicator ) {
|
||||
// #121 fix indent of lambda bodies, also GH #7
|
||||
if (isCStyle() && lambdaIndicator && attemptLambdaIndentation )
|
||||
{
|
||||
isBlockOpener = false;
|
||||
}
|
||||
|
||||
@@ -3120,7 +3242,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
else if (isSharpStyle()
|
||||
&& (newHeader == &AS_GET || newHeader == &AS_SET))
|
||||
{
|
||||
if (getNextWord(line, i + (*newHeader).length()) == "is")
|
||||
if (getNextWord(std::string(line), i + (*newHeader).length()) == "is")
|
||||
newHeader = nullptr;
|
||||
}
|
||||
else if (newHeader == &AS_USING
|
||||
@@ -3287,14 +3409,16 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
|
||||
//https://sourceforge.net/p/astyle/bugs/353/
|
||||
// new is ending the line?
|
||||
if (isJavaStyle() && findKeyword(line, i, AS_NEW) && line.length()-3 == i) {
|
||||
if (isJavaStyle() && findKeyword(line, i, AS_NEW) && line.length() - 3 == i)
|
||||
{
|
||||
headerStack->emplace_back(&AS_FIXED); // needs to be something which will not match - need to define a token which will never match
|
||||
}
|
||||
|
||||
//https://sourceforge.net/p/astyle/bugs/550/
|
||||
//enum can be function return value
|
||||
if (parenDepth == 0 && findKeyword(line, i, AS_ENUM) && line.find_first_of(AS_OPEN_PAREN, i) == std::string::npos)
|
||||
if (parenDepth == 0 && findKeyword(line, i, AS_ENUM) && line.find_first_of(AS_OPEN_PAREN, i) == std::string::npos){
|
||||
isInEnum = true;
|
||||
}
|
||||
|
||||
if (parenDepth == 0 && (findKeyword(line, i, AS_TYPEDEF_STRUCT) || findKeyword(line, i, AS_STRUCT)) && line.find_first_of(AS_SEMICOLON, i) == std::string::npos)
|
||||
{
|
||||
@@ -3315,6 +3439,8 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
if (ch == '?')
|
||||
isInQuestion = true;
|
||||
|
||||
|
||||
|
||||
// special handling of colons XXX 533
|
||||
if (ch == ':')
|
||||
{
|
||||
@@ -3411,11 +3537,11 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
}
|
||||
}
|
||||
|
||||
if ((ch == ';' || (parenDepth > 0 && ch == ',')) && !continuationIndentStackSizeStack->empty())
|
||||
if ((ch == ';' || (parenDepth > 0 && ch == ',')) && !continuationIndentStackSizeStack->empty()){
|
||||
while ((int) continuationIndentStackSizeStack->back() + (parenDepth > 0 ? 1 : 0)
|
||||
< (int) continuationIndentStack->size())
|
||||
continuationIndentStack->pop_back();
|
||||
|
||||
}
|
||||
else if (ch == ',' && (isInEnum || isInStruct) && isNonInStatementArray && !continuationIndentStack->empty())
|
||||
continuationIndentStack->pop_back();
|
||||
|
||||
@@ -3427,8 +3553,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
size_t nextChar = line.find_first_not_of(" \t", i + 1);
|
||||
if (nextChar != std::string::npos)
|
||||
{
|
||||
if (line.compare(nextChar, 2, "//") == 0
|
||||
|| line.compare(nextChar, 2, "/*") == 0)
|
||||
if (line.compare(nextChar, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0
|
||||
|| line.compare(nextChar, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|
||||
|| line.compare(nextChar, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
|
||||
nextChar = std::string::npos;
|
||||
}
|
||||
// register indent
|
||||
@@ -3457,6 +3584,8 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
// handle ends of statements
|
||||
if ((ch == ';' && parenDepth == 0) || ch == '}')
|
||||
{
|
||||
isInAssignment = isInInitializerList = false;
|
||||
|
||||
if (ch == '}')
|
||||
{
|
||||
|
||||
@@ -3702,7 +3831,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
}
|
||||
|
||||
// bypass the entire name for all others
|
||||
std::string name = getCurrentWord(line, i);
|
||||
std::string_view name = getCurrentWord(line, i);
|
||||
i += name.length() - 1;
|
||||
continue;
|
||||
}
|
||||
@@ -3715,11 +3844,11 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
&& !isWhiteSpace(line[i + 1])
|
||||
&& isCharPotentialHeader(line, i + 1))
|
||||
{
|
||||
std::string curWord = getCurrentWord(line, i + 1);
|
||||
std::string_view curWord = getCurrentWord(line, i + 1);
|
||||
if (curWord == AS_INTERFACE || curWord == AS_AUTORELEASEPOOL)
|
||||
{
|
||||
isInObjCInterface = true;
|
||||
std::string name = '@' + curWord;
|
||||
std::string name = '@' + std::string(curWord);
|
||||
i += name.length() - 1;
|
||||
continue;
|
||||
}
|
||||
@@ -3737,7 +3866,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
--indentCount;
|
||||
if (modifierIndent)
|
||||
spaceIndentCount += (indentLength / 2);
|
||||
std::string name = '@' + curWord;
|
||||
std::string name = '@' + std::string(curWord);
|
||||
i += name.length() - 1;
|
||||
continue;
|
||||
}
|
||||
@@ -3747,7 +3876,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
popLastContinuationIndent();
|
||||
spaceIndentCount = 0;
|
||||
isInObjCMethodDefinition = false;
|
||||
std::string name = '@' + curWord;
|
||||
std::string name = '@' + std::string(curWord);
|
||||
i += name.length() - 1;
|
||||
continue;
|
||||
}
|
||||
@@ -3802,14 +3931,39 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
if (foundNonAssignmentOp->length() > 1)
|
||||
i += foundNonAssignmentOp->length() - 1;
|
||||
|
||||
// For C++ input/output, operator<< and >> should be
|
||||
// For C++ input/output, operator<<, >> and . method calls should be
|
||||
// aligned, if we are not in a statement already and
|
||||
// also not in the "operator<<(...)" header line
|
||||
|
||||
// GL28: method calls have to contain only alphanumeric identifier
|
||||
size_t openParenPos = line.find(AS_OPEN_PAREN, i);
|
||||
|
||||
std::string methodName = getNextWord(std::string(line), i);
|
||||
size_t methodNameEndPos = i + methodName.length() + 1;
|
||||
size_t firstCharAfterMethod = line.substr(i + methodName.length() + 1).find_first_not_of(" \t");
|
||||
if (firstCharAfterMethod != std::string::npos)
|
||||
{
|
||||
methodNameEndPos += firstCharAfterMethod;
|
||||
}
|
||||
|
||||
size_t firstCharOfLine = line.find_first_not_of(" \t");
|
||||
bool lineStartsWithDot = false;
|
||||
if (firstCharOfLine != std::string::npos)
|
||||
{
|
||||
lineStartsWithDot = line[firstCharOfLine] == '.';
|
||||
}
|
||||
|
||||
// GL28: do not mixup template closing ">>" with IO operator
|
||||
std::string searchTemplatePattern = std::string(line).substr(0, i);
|
||||
size_t countLS = std::count_if( searchTemplatePattern.begin(), searchTemplatePattern.end(), []( char c ){return c =='<';});
|
||||
|
||||
if (!isInOperator
|
||||
&& continuationIndentStack->empty()
|
||||
&& isCStyle()
|
||||
&& (foundNonAssignmentOp == &AS_GR_GR
|
||||
|| foundNonAssignmentOp == &AS_LS_LS))
|
||||
&& !lineStartsWithDot
|
||||
&& ( (foundNonAssignmentOp == &AS_GR_GR && countLS < 2 )
|
||||
|| foundNonAssignmentOp == &AS_LS_LS
|
||||
|| (foundNonAssignmentOp == &AS_DOT && openParenPos == methodNameEndPos)))
|
||||
{
|
||||
// this will be true if the line begins with the operator
|
||||
if (i < foundNonAssignmentOp->length() && spaceIndentCount == 0)
|
||||
@@ -3821,6 +3975,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
|
||||
else if (foundAssignmentOp != nullptr)
|
||||
{
|
||||
|
||||
isInAssignment = true;
|
||||
|
||||
foundPreCommandHeader = false; // clears this for array assignments
|
||||
foundPreCommandMacro = false;
|
||||
|
||||
@@ -3850,10 +4007,15 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
|
||||
{
|
||||
isInLet = false;
|
||||
}
|
||||
else if (!lineBeginsWithComma)
|
||||
else if (!lineBeginsWithComma && !isInDefine)
|
||||
{
|
||||
if (i == 0 && spaceIndentCount == 0)
|
||||
spaceIndentCount += indentLength;
|
||||
|
||||
// #SF 97
|
||||
if (prevNonLegalCh == '=' && currentNonLegalCh == '=')
|
||||
spaceIndentCount = 0;
|
||||
|
||||
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, 0, false);
|
||||
isContinuation = true;
|
||||
}
|
||||
|
||||
+11
-12
@@ -188,7 +188,7 @@ void ASEnhancer::convertSpaceIndentToForceTab(std::string& line) const
|
||||
* @param caseIndex the line index of the case statement.
|
||||
* @return the line index of the colon.
|
||||
*/
|
||||
size_t ASEnhancer::findCaseColon(const std::string& line, size_t caseIndex) const
|
||||
size_t ASEnhancer::findCaseColon(std::string_view line, size_t caseIndex) const
|
||||
{
|
||||
size_t i = caseIndex;
|
||||
bool isInQuote_ = false;
|
||||
@@ -276,9 +276,9 @@ int ASEnhancer::indentLine(std::string& line, int indent) const
|
||||
* @param index the current line index.
|
||||
* @return true if a hit.
|
||||
*/
|
||||
bool ASEnhancer::isBeginDeclareSectionSQL(const std::string& line, size_t index) const
|
||||
bool ASEnhancer::isBeginDeclareSectionSQL(std::string_view line, size_t index) const
|
||||
{
|
||||
std::string word;
|
||||
|
||||
size_t hits = 0;
|
||||
size_t i;
|
||||
for (i = index; i < line.length(); i++)
|
||||
@@ -290,8 +290,8 @@ bool ASEnhancer::isBeginDeclareSectionSQL(const std::string& line, size_t index)
|
||||
break;
|
||||
if (!isCharPotentialHeader(line, i))
|
||||
continue;
|
||||
word = getCurrentWord(line, i);
|
||||
for (char& character : word)
|
||||
std::string_view word = getCurrentWord(line, i);
|
||||
for (char character : word)
|
||||
character = (char) toupper(character);
|
||||
if (word == "EXEC" || word == "SQL")
|
||||
{
|
||||
@@ -325,9 +325,8 @@ bool ASEnhancer::isBeginDeclareSectionSQL(const std::string& line, size_t index)
|
||||
* @param index the current line index.
|
||||
* @return true if a hit.
|
||||
*/
|
||||
bool ASEnhancer::isEndDeclareSectionSQL(const std::string& line, size_t index) const
|
||||
bool ASEnhancer::isEndDeclareSectionSQL(std::string_view line, size_t index) const
|
||||
{
|
||||
std::string word;
|
||||
size_t hits = 0;
|
||||
size_t i;
|
||||
for (i = index; i < line.length(); i++)
|
||||
@@ -339,8 +338,8 @@ bool ASEnhancer::isEndDeclareSectionSQL(const std::string& line, size_t index) c
|
||||
break;
|
||||
if (!isCharPotentialHeader(line, i))
|
||||
continue;
|
||||
word = getCurrentWord(line, i);
|
||||
for (char& character : word)
|
||||
std::string_view word = getCurrentWord(line, i);
|
||||
for (char character : word)
|
||||
character = (char) toupper(character);
|
||||
if (word == "EXEC" || word == "SQL")
|
||||
{
|
||||
@@ -374,7 +373,7 @@ bool ASEnhancer::isEndDeclareSectionSQL(const std::string& line, size_t index) c
|
||||
* @return false = one-line brace has not been reached.
|
||||
* true = one-line brace has been reached.
|
||||
*/
|
||||
bool ASEnhancer::isOneLineBlockReached(const std::string& line, int startChar) const
|
||||
bool ASEnhancer::isOneLineBlockReached(std::string_view line, int startChar) const
|
||||
{
|
||||
assert(line[startChar] == '{');
|
||||
|
||||
@@ -619,7 +618,7 @@ void ASEnhancer::parseCurrentLine(std::string& line, bool isInPreprocessor, bool
|
||||
// bypass the entire word
|
||||
if (isPotentialKeyword)
|
||||
{
|
||||
std::string name = getCurrentWord(line, i);
|
||||
std::string_view name = getCurrentWord(line, i);
|
||||
i += name.length() - 1;
|
||||
}
|
||||
continue;
|
||||
@@ -712,7 +711,7 @@ size_t ASEnhancer::processSwitchBlock(std::string& line, size_t index)
|
||||
}
|
||||
if (isPotentialKeyword)
|
||||
{
|
||||
std::string name = getCurrentWord(line, i); // bypass the entire name
|
||||
std::string_view name = getCurrentWord(line, i); // bypass the entire name
|
||||
i += name.length() - 1;
|
||||
}
|
||||
return i;
|
||||
|
||||
+522
-255
File diff suppressed because it is too large
Load Diff
+29
-18
@@ -103,6 +103,9 @@ const std::string ASResource::AS_OPEN_LINE_COMMENT = std::string("//");
|
||||
const std::string ASResource::AS_OPEN_COMMENT = std::string("/*");
|
||||
const std::string ASResource::AS_CLOSE_COMMENT = std::string("*/");
|
||||
|
||||
const std::string ASResource::AS_GSC_OPEN_COMMENT = std::string("/#");
|
||||
const std::string ASResource::AS_GSC_CLOSE_COMMENT = std::string("#/");
|
||||
|
||||
const std::string ASResource::AS_ASSIGN = std::string("=");
|
||||
const std::string ASResource::AS_PLUS_ASSIGN = std::string("+=");
|
||||
const std::string ASResource::AS_MINUS_ASSIGN = std::string("-=");
|
||||
@@ -142,6 +145,7 @@ const std::string ASResource::AS_OR = std::string("||");
|
||||
const std::string ASResource::AS_SCOPE_RESOLUTION = std::string("::");
|
||||
const std::string ASResource::AS_SPACESHIP = std::string("<=>");
|
||||
const std::string ASResource::AS_EQUAL_JS = std::string("===");
|
||||
const std::string ASResource::AS_COALESCE_CS = std::string("?" "?="); // Avoid trigraph
|
||||
|
||||
const std::string ASResource::AS_PLUS = std::string("+");
|
||||
const std::string ASResource::AS_MINUS = std::string("-");
|
||||
@@ -158,6 +162,7 @@ const std::string ASResource::AS_BIT_XOR = std::string("^");
|
||||
const std::string ASResource::AS_QUESTION = std::string("?");
|
||||
const std::string ASResource::AS_COLON = std::string(":");
|
||||
const std::string ASResource::AS_COMMA = std::string(",");
|
||||
const std::string ASResource::AS_DOT = std::string(".");
|
||||
const std::string ASResource::AS_SEMICOLON = std::string(";");
|
||||
|
||||
|
||||
@@ -313,8 +318,6 @@ void ASResource::buildHeaders(std::vector<const std::string*>* headers, int file
|
||||
void ASResource::buildIndentableHeaders(std::vector<const std::string*>* indentableHeaders)
|
||||
{
|
||||
indentableHeaders->emplace_back(&AS_RETURN);
|
||||
|
||||
// sort(indentableHeaders->begin(), indentableHeaders->end(), sortOnName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -356,7 +359,7 @@ void ASResource::buildIndentableMacros(std::vector<const std::pair<const std::st
|
||||
*/
|
||||
void ASResource::buildNonAssignmentOperators(std::vector<const std::string*>* nonAssignmentOperators)
|
||||
{
|
||||
const size_t elements = 15;
|
||||
const size_t elements = 16;
|
||||
nonAssignmentOperators->reserve(elements);
|
||||
|
||||
nonAssignmentOperators->emplace_back(&AS_EQUAL);
|
||||
@@ -373,6 +376,7 @@ void ASResource::buildNonAssignmentOperators(std::vector<const std::string*>* no
|
||||
nonAssignmentOperators->emplace_back(&AS_AND);
|
||||
nonAssignmentOperators->emplace_back(&AS_OR);
|
||||
nonAssignmentOperators->emplace_back(&AS_LAMBDA);
|
||||
nonAssignmentOperators->emplace_back(&AS_DOT);
|
||||
|
||||
assert(nonAssignmentOperators->size() < elements);
|
||||
sort(nonAssignmentOperators->begin(), nonAssignmentOperators->end(), sortOnLength);
|
||||
@@ -498,6 +502,10 @@ void ASResource::buildOperators(std::vector<const std::string*>* operators, int
|
||||
{
|
||||
operators->emplace_back(&AS_EQUAL_JS);
|
||||
}
|
||||
if (fileType == SHARP_TYPE)
|
||||
{
|
||||
operators->emplace_back(&AS_COALESCE_CS);
|
||||
}
|
||||
assert(operators->size() < elements);
|
||||
sort(operators->begin(), operators->end(), sortOnLength);
|
||||
}
|
||||
@@ -626,8 +634,8 @@ void ASResource::buildPreDefinitionHeaders(std::vector<const std::string*>* preD
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
// check if a specific line position contains a header.
|
||||
const std::string* ASBase::findHeader(const std::string& line, int i,
|
||||
const std::vector<const std::string*>* possibleHeaders) const
|
||||
const std::string* ASBase::findHeader(std::string_view line, int i,
|
||||
const std::vector<const std::string*>* possibleHeaders) const
|
||||
{
|
||||
assert(isCharPotentialHeader(line, i));
|
||||
// check the word
|
||||
@@ -658,7 +666,7 @@ const std::string* ASBase::findHeader(const std::string& line, int i,
|
||||
if ((header == &AS_GET
|
||||
|| header == &AS_SET
|
||||
|| header == &AS_DEFAULT)
|
||||
&& (peekChar == ';' || peekChar == '(' || peekChar == '='))
|
||||
&& (peekChar == '.' || peekChar == ';' || peekChar == '(' || peekChar == '='))
|
||||
break;
|
||||
return header;
|
||||
}
|
||||
@@ -666,9 +674,8 @@ const std::string* ASBase::findHeader(const std::string& line, int i,
|
||||
}
|
||||
|
||||
// check if a specific line position contains a keyword.
|
||||
bool ASBase::findKeyword(const std::string& line, int i, const std::string& keyword) const
|
||||
bool ASBase::findKeyword(std::string_view line, int i, std::string_view keyword) const
|
||||
{
|
||||
//std::cerr << "findKeyword "<< i << " "<< line << " -< "<< keyword << "\n";
|
||||
assert(isCharPotentialHeader(line, i));
|
||||
// check the word
|
||||
const size_t keywordLength = keyword.length();
|
||||
@@ -678,7 +685,8 @@ bool ASBase::findKeyword(const std::string& line, int i, const std::string& keyw
|
||||
if (line.compare(i, keywordLength, keyword) != 0)
|
||||
return false;
|
||||
// check that this is not part of a longer word
|
||||
if (wordEnd == line.length()) {
|
||||
if (wordEnd == line.length())
|
||||
{
|
||||
//std::cerr << "findKeyword t1 \n";
|
||||
return true;
|
||||
}
|
||||
@@ -695,8 +703,8 @@ bool ASBase::findKeyword(const std::string& line, int i, const std::string& keyw
|
||||
}
|
||||
|
||||
// check if a specific line position contains an operator.
|
||||
const std::string* ASBase::findOperator(const std::string& line, int i,
|
||||
const std::vector<const std::string*>* possibleOperators) const
|
||||
const std::string* ASBase::findOperator(std::string_view line, int i,
|
||||
const std::vector<const std::string*>* possibleOperators) const
|
||||
{
|
||||
assert(isCharPotentialOperator(line[i]));
|
||||
// find the operator in the vector
|
||||
@@ -716,14 +724,16 @@ const std::string* ASBase::findOperator(const std::string& line, int i,
|
||||
|
||||
// get the current word on a line
|
||||
// index must point to the beginning of the word
|
||||
std::string ASBase::getCurrentWord(const std::string& line, size_t index) const
|
||||
std::string_view ASBase::getCurrentWord(std::string_view line, size_t index) const
|
||||
{
|
||||
assert(isCharPotentialHeader(line, index));
|
||||
//assert(isCharPotentialHeader(line, index));
|
||||
size_t lineLength = line.length();
|
||||
size_t i;
|
||||
for (i = index; i < lineLength; i++)
|
||||
{
|
||||
if (!isLegalNameChar(line[i]))
|
||||
if (!isLegalNameChar(line[i])
|
||||
|| ( (isCStyle() || isJavaStyle()) && i > index && line[i]=='.')
|
||||
)
|
||||
break;
|
||||
}
|
||||
return line.substr(index, i - index);
|
||||
@@ -737,13 +747,14 @@ bool ASBase::isLegalNameChar(char ch) const
|
||||
if ((unsigned char) ch > 127)
|
||||
return false;
|
||||
return (isalnum((unsigned char) ch)
|
||||
|| ch == '.' || ch == '_'
|
||||
|| ch == '_'
|
||||
|| (!isSharpStyle() && ch == '.' )
|
||||
|| (isJavaStyle() && ch == '$')
|
||||
|| (isSharpStyle() && ch == '@')); // may be used as a prefix
|
||||
}
|
||||
|
||||
// check if a specific character can be part of a header
|
||||
bool ASBase::isCharPotentialHeader(const std::string& line, size_t i) const
|
||||
bool ASBase::isCharPotentialHeader(std::string_view line, size_t i) const
|
||||
{
|
||||
assert(!isWhiteSpace(line[i]));
|
||||
char prevCh = ' ';
|
||||
@@ -779,7 +790,7 @@ bool ASBase::isDigit(char ch) const
|
||||
}
|
||||
|
||||
// check if a specific character is a digit separator
|
||||
bool ASBase::isDigitSeparator(const std::string& line, int i) const
|
||||
bool ASBase::isDigitSeparator(std::string_view line, int i) const
|
||||
{
|
||||
assert(line[i] == '\'');
|
||||
// casting to (unsigned char) eliminates negative characters
|
||||
@@ -792,7 +803,7 @@ bool ASBase::isDigitSeparator(const std::string& line, int i) const
|
||||
}
|
||||
|
||||
// peek at the next unread character.
|
||||
char ASBase::peekNextChar(const std::string& line, int i) const
|
||||
char ASBase::peekNextChar(std::string_view line, int i) const
|
||||
{
|
||||
char ch = ' ';
|
||||
size_t peekNum = line.find_first_not_of(" \t", i + 1);
|
||||
|
||||
+117
-75
@@ -21,6 +21,7 @@
|
||||
#include <iostream> // for cout
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
|
||||
#ifdef __GNUC__
|
||||
@@ -52,6 +53,8 @@
|
||||
#pragma clang diagnostic ignored "-Wshorten-64-to-32"
|
||||
#endif
|
||||
|
||||
#define ASTYLE_VERSION "3.6"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// astyle namespace
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -62,7 +65,7 @@ namespace astyle {
|
||||
// definitions
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
enum FileType { C_TYPE = 0, JAVA_TYPE = 1, SHARP_TYPE = 2, JS_TYPE = 3, OBJC_TYPE = 4, INVALID_TYPE = -1 };
|
||||
enum FileType { C_TYPE = 0, JAVA_TYPE = 1, SHARP_TYPE = 2, JS_TYPE = 3, OBJC_TYPE = 4, GSC_TYPE = 5, INVALID_TYPE = -1 };
|
||||
|
||||
/* The enums below are not recognized by 'vectors' in Microsoft Visual C++
|
||||
V5 when they are part of a namespace!!! Use Visual C++ V6 or higher.
|
||||
@@ -167,10 +170,21 @@ enum LineEndFormat
|
||||
LINEEND_DEFAULT, // Use line break that matches most of the file
|
||||
LINEEND_WINDOWS,
|
||||
LINEEND_LINUX,
|
||||
LINEEND_MACOLD,
|
||||
LINEEND_CRLF = LINEEND_WINDOWS,
|
||||
LINEEND_LF = LINEEND_LINUX,
|
||||
LINEEND_CR = LINEEND_MACOLD
|
||||
LINEEND_MACOLD
|
||||
};
|
||||
|
||||
enum NegationPaddingMode
|
||||
{
|
||||
NEGATION_PAD_NO_CHANGE,
|
||||
NEGATION_PAD_AFTER,
|
||||
NEGATION_PAD_BEFORE
|
||||
};
|
||||
|
||||
enum IncludeDirectivePaddingMode
|
||||
{
|
||||
INCLUDE_PAD_NO_CHANGE,
|
||||
INCLUDE_PAD_NONE,
|
||||
INCLUDE_PAD_AFTER
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -263,13 +277,14 @@ public:
|
||||
static const std::string AS_OPEN_PAREN, AS_CLOSE_PAREN;
|
||||
static const std::string AS_OPEN_BRACE, AS_CLOSE_BRACE;
|
||||
static const std::string AS_OPEN_LINE_COMMENT, AS_OPEN_COMMENT, AS_CLOSE_COMMENT;
|
||||
static const std::string AS_GSC_OPEN_COMMENT, AS_GSC_CLOSE_COMMENT;
|
||||
static const std::string AS_BAR_DEFINE, AS_BAR_INCLUDE, AS_BAR_IF, AS_BAR_EL, AS_BAR_ENDIF;
|
||||
static const std::string AS_AUTO, AS_RETURN;
|
||||
static const std::string AS_CIN, AS_COUT, AS_CERR;
|
||||
static const std::string AS_CIN, AS_COUT, AS_CERR, AS_MAPPING;
|
||||
static const std::string AS_ASSIGN, AS_PLUS_ASSIGN, AS_MINUS_ASSIGN, AS_MULT_ASSIGN;
|
||||
static const std::string AS_DIV_ASSIGN, AS_MOD_ASSIGN, AS_XOR_ASSIGN, AS_OR_ASSIGN, AS_AND_ASSIGN;
|
||||
static const std::string AS_GR_GR_ASSIGN, AS_LS_LS_ASSIGN, AS_GR_GR_GR_ASSIGN, AS_LS_LS_LS_ASSIGN;
|
||||
static const std::string AS_GCC_MIN_ASSIGN, AS_GCC_MAX_ASSIGN, AS_SPACESHIP, AS_EQUAL_JS;
|
||||
static const std::string AS_GCC_MIN_ASSIGN, AS_GCC_MAX_ASSIGN, AS_SPACESHIP, AS_EQUAL_JS, AS_COALESCE_CS;
|
||||
static const std::string AS_EQUAL, AS_PLUS_PLUS, AS_MINUS_MINUS, AS_NOT_EQUAL, AS_GR_EQUAL;
|
||||
static const std::string AS_LS_EQUAL, AS_LS_LS_LS, AS_LS_LS, AS_GR_GR_GR, AS_GR_GR;
|
||||
static const std::string AS_QUESTION_QUESTION, AS_LAMBDA;
|
||||
@@ -277,7 +292,7 @@ public:
|
||||
static const std::string AS_SCOPE_RESOLUTION;
|
||||
static const std::string AS_PLUS, AS_MINUS, AS_MULT, AS_DIV, AS_MOD, AS_GR, AS_LS;
|
||||
static const std::string AS_NOT, AS_BIT_XOR, AS_BIT_OR, AS_BIT_AND, AS_BIT_NOT;
|
||||
static const std::string AS_QUESTION, AS_COLON, AS_SEMICOLON, AS_COMMA;
|
||||
static const std::string AS_QUESTION, AS_COLON, AS_SEMICOLON, AS_COMMA, AS_DOT;
|
||||
static const std::string AS_ASM, AS__ASM__, AS_MS_ASM, AS_MS__ASM;
|
||||
static const std::string AS_QFOREACH, AS_QFOREVER, AS_FOREVER;
|
||||
static const std::string AS_FOREACH, AS_LOCK, AS_UNSAFE, AS_FIXED;
|
||||
@@ -303,28 +318,28 @@ protected:
|
||||
|
||||
protected: // inline functions
|
||||
void init(int fileTypeArg) { baseFileType = fileTypeArg; }
|
||||
bool isCStyle() const { return baseFileType == C_TYPE || baseFileType == OBJC_TYPE; }
|
||||
bool isCStyle() const { return baseFileType == C_TYPE || baseFileType == OBJC_TYPE || baseFileType == GSC_TYPE; }
|
||||
bool isJavaStyle() const { return baseFileType == JAVA_TYPE; }
|
||||
bool isSharpStyle() const { return baseFileType == SHARP_TYPE; }
|
||||
bool isJSStyle() const { return baseFileType == JS_TYPE; }
|
||||
bool isObjCStyle() const { return baseFileType == OBJC_TYPE; }
|
||||
bool isGSCStyle() const { return baseFileType == GSC_TYPE; }
|
||||
|
||||
bool isWhiteSpace(char ch) const { return (ch == ' ' || ch == '\t'); }
|
||||
|
||||
protected: // functions definitions are at the end of ASResource.cpp
|
||||
const std::string* findHeader(const std::string& line, int i,
|
||||
const std::vector<const std::string*>* possibleHeaders) const;
|
||||
bool findKeyword(const std::string& line, int i, const std::string& keyword) const;
|
||||
const std::string* findOperator(const std::string& line, int i,
|
||||
const std::vector<const std::string*>* possibleOperators) const;
|
||||
std::string getCurrentWord(const std::string& line, size_t index) const;
|
||||
const std::string* findHeader(std::string_view line, int i,
|
||||
const std::vector<const std::string*>* possibleHeaders) const;
|
||||
bool findKeyword(std::string_view line, int i, std::string_view keyword) const;
|
||||
const std::string* findOperator(std::string_view line, int i,
|
||||
const std::vector<const std::string*>* possibleOperators) const;
|
||||
std::string_view getCurrentWord(std::string_view, size_t index) const;
|
||||
bool isDigit(char ch) const;
|
||||
bool isLegalNameChar(char ch) const;
|
||||
bool isCharPotentialHeader(const std::string& line, size_t i) const;
|
||||
bool isCharPotentialHeader(std::string_view line, size_t i) const;
|
||||
bool isCharPotentialOperator(char ch) const;
|
||||
bool isDigitSeparator(const std::string& line, int i) const;
|
||||
char peekNextChar(const std::string& line, int i) const;
|
||||
|
||||
bool isDigitSeparator(std::string_view line, int i) const;
|
||||
char peekNextChar(std::string_view line, int i) const;
|
||||
}; // Class ASBase
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -353,8 +368,9 @@ public:
|
||||
void setAfterParenIndent(bool state);
|
||||
void setJavaStyle();
|
||||
void setJSStyle();
|
||||
void setObjCStyle();
|
||||
void setSharpStyle();
|
||||
void setObjCStyle();
|
||||
void setSharpStyle();
|
||||
void setGSCStyle();
|
||||
|
||||
void setLabelIndent(bool state);
|
||||
void setMaxContinuationIndentLength(int max);
|
||||
@@ -393,14 +409,14 @@ public:
|
||||
|
||||
protected:
|
||||
void deleteBeautifierVectors();
|
||||
int getNextProgramCharDistance(const std::string& line, int i) const;
|
||||
int getNextProgramCharDistance(std::string_view line, int i) const;
|
||||
int indexOf(const std::vector<const std::string*>& container, const std::string* element) const;
|
||||
void setBlockIndent(bool state);
|
||||
void setBraceIndent(bool state);
|
||||
void setBraceIndentVtk(bool state);
|
||||
std::string extractPreprocessorStatement(const std::string& line) const;
|
||||
std::string trim(const std::string& str) const;
|
||||
std::string rtrim(const std::string& str) const;
|
||||
std::string extractPreprocessorStatement(std::string_view line) const;
|
||||
std::string trim(std::string_view str) const;
|
||||
std::string rtrim(std::string_view str) const;
|
||||
|
||||
// variables set by ASFormatter - must be updated in activeBeautifierStack
|
||||
int inLineNumber;
|
||||
@@ -417,18 +433,20 @@ protected:
|
||||
bool isInBeautifySQL;
|
||||
bool isInIndentableStruct;
|
||||
bool isInIndentablePreproc;
|
||||
bool lambdaIndicator;
|
||||
|
||||
|
||||
private: // functions
|
||||
void adjustObjCMethodDefinitionIndentation(const std::string& line_);
|
||||
void adjustObjCMethodCallIndentation(const std::string& line_);
|
||||
void adjustObjCMethodDefinitionIndentation(std::string_view line_);
|
||||
void adjustObjCMethodCallIndentation(std::string_view line_);
|
||||
void adjustParsedLineIndentation(size_t iPrelim, bool isInExtraHeaderIndent);
|
||||
void computePreliminaryIndentation();
|
||||
void parseCurrentLine(const std::string& line);
|
||||
void parseCurrentLine(std::string_view line);
|
||||
void popLastContinuationIndent();
|
||||
void processPreprocessor(const std::string& preproc, const std::string& line);
|
||||
void registerContinuationIndent(const std::string& line, int i, int spaceIndentCount_,
|
||||
void processPreprocessor(std::string_view preproc, std::string_view line);
|
||||
void registerContinuationIndent(std::string_view line, int i, int spaceIndentCount_,
|
||||
int tabIncrementIn, int minIndent, bool updateParenStack);
|
||||
void registerContinuationIndentColon(const std::string& line, int i, int tabIncrementIn);
|
||||
void registerContinuationIndentColon(std::string_view line, int i, int tabIncrementIn);
|
||||
void initVectors();
|
||||
void initTempStacksContainer(std::vector<std::vector<const std::string*>*>*& container,
|
||||
std::vector<std::vector<const std::string*>*>* value);
|
||||
@@ -436,20 +454,20 @@ private: // functions
|
||||
void deleteBeautifierContainer(std::vector<ASBeautifier*>*& container);
|
||||
void deleteTempStacksContainer(std::vector<std::vector<const std::string*>*>*& container);
|
||||
int adjustIndentCountForBreakElseIfComments() const;
|
||||
int computeObjCColonAlignment(const std::string& line, int colonAlignPosition) const;
|
||||
int computeObjCColonAlignment(std::string_view line, int colonAlignPosition) const;
|
||||
int convertTabToSpaces(int i, int tabIncrementIn) const;
|
||||
int findObjCColonAlignment(const std::string& line) const;
|
||||
int getContinuationIndentAssign(const std::string& line, size_t currPos) const;
|
||||
int getContinuationIndentComma(const std::string& line, size_t currPos) const;
|
||||
int getObjCFollowingKeyword(const std::string& line, int bracePos) const;
|
||||
bool isIndentedPreprocessor(const std::string& line, size_t currPos) const;
|
||||
bool isLineEndComment(const std::string& line, int startPos) const;
|
||||
bool isPreprocessorConditionalCplusplus(const std::string& line) const;
|
||||
bool isInPreprocessorUnterminatedComment(const std::string& line);
|
||||
int findObjCColonAlignment(std::string_view line) const;
|
||||
int getContinuationIndentAssign(std::string_view line, size_t currPos) const;
|
||||
int getContinuationIndentComma(std::string_view line, size_t currPos) const;
|
||||
int getObjCFollowingKeyword(std::string_view line, int bracePos) const;
|
||||
bool isIndentedPreprocessor(std::string_view line, size_t currPos) const;
|
||||
bool isLineEndComment(std::string_view line, int startPos) const;
|
||||
bool isPreprocessorConditionalCplusplus(std::string_view line) const;
|
||||
bool isInPreprocessorUnterminatedComment(std::string_view line);
|
||||
bool isTopLevel() const;
|
||||
bool statementEndsWithComma(const std::string& line, int index) const;
|
||||
const std::string& getIndentedLineReturn(const std::string& newLine, const std::string& originalLine) const;
|
||||
std::string getIndentedSpaceEquivalent(const std::string& line_) const;
|
||||
bool statementEndsWithComma(std::string_view line, int index) const;
|
||||
|
||||
std::string getIndentedSpaceEquivalent(std::string_view line_) const;
|
||||
std::string preLineWS(int lineIndentCount, int lineSpaceIndentCount) const;
|
||||
template<typename T> void deleteContainer(T& container);
|
||||
template<typename T> void initContainer(T& container, T value);
|
||||
@@ -555,9 +573,13 @@ private: // variables
|
||||
bool foundPreCommandMacro;
|
||||
bool shouldAlignMethodColon;
|
||||
bool shouldIndentPreprocConditional;
|
||||
bool lambdaIndicator;
|
||||
bool squeezeWhitespace;
|
||||
bool attemptLambdaIndentation;
|
||||
|
||||
bool isInAssignment;
|
||||
bool isInInitializerList;
|
||||
bool isInMultiLineString;
|
||||
|
||||
int indentCount;
|
||||
int spaceIndentCount;
|
||||
int spaceIndentObjCMethodAlignment;
|
||||
@@ -592,6 +614,8 @@ private: // variables
|
||||
// Class ASEnhancer
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// TODO rewrite methods to return altered stings
|
||||
|
||||
class ASEnhancer : protected ASBase
|
||||
{
|
||||
public: // functions
|
||||
@@ -603,11 +627,11 @@ public: // functions
|
||||
private: // functions
|
||||
void convertForceTabIndentToSpaces(std::string& line) const;
|
||||
void convertSpaceIndentToForceTab(std::string& line) const;
|
||||
size_t findCaseColon(const std::string& line, size_t caseIndex) const;
|
||||
size_t findCaseColon(std::string_view line, size_t caseIndex) const;
|
||||
int indentLine(std::string& line, int indent) const;
|
||||
bool isBeginDeclareSectionSQL(const std::string& line, size_t index) const;
|
||||
bool isEndDeclareSectionSQL(const std::string& line, size_t index) const;
|
||||
bool isOneLineBlockReached(const std::string& line, int startChar) const;
|
||||
bool isBeginDeclareSectionSQL(std::string_view line, size_t index) const;
|
||||
bool isEndDeclareSectionSQL(std::string_view line, size_t index) const;
|
||||
bool isOneLineBlockReached(std::string_view line, int startChar) const;
|
||||
void parseCurrentLine(std::string& line, bool isInPreprocessor, bool isInSQL);
|
||||
size_t processSwitchBlock(std::string& line, size_t index);
|
||||
int unindentLine(std::string& line, int unindent) const;
|
||||
@@ -682,7 +706,7 @@ public: // functions
|
||||
LineEndFormat getLineEndFormat() const;
|
||||
bool getIsLineReady() const;
|
||||
void setFormattingStyle(FormatStyle style);
|
||||
void setAddBracesMode(bool state);
|
||||
void setAddBracesMode(int state);
|
||||
void setAddOneLineBracesMode(bool state);
|
||||
void setRemoveBracesMode(bool state);
|
||||
void setAttachClass(bool state);
|
||||
@@ -717,8 +741,15 @@ public: // functions
|
||||
void setMaxCodeLength(int max);
|
||||
void setObjCColonPaddingMode(ObjCColonPad mode);
|
||||
void setOperatorPaddingMode(bool state);
|
||||
void setNegationPaddingMode(NegationPaddingMode mode);
|
||||
void setIncludeDirectivePaddingMode(IncludeDirectivePaddingMode mode);
|
||||
|
||||
|
||||
void setParensOutsidePaddingMode(bool state);
|
||||
void setParensFirstPaddingMode(bool state);
|
||||
|
||||
void setEmptyParensPaddingMode(bool state);
|
||||
|
||||
void setParensInsidePaddingMode(bool state);
|
||||
void setParensHeaderPaddingMode(bool state);
|
||||
void setParensUnPaddingMode(bool state);
|
||||
@@ -751,8 +782,8 @@ private: // functions
|
||||
char peekNextChar() const;
|
||||
BraceType getBraceType();
|
||||
bool adjustChecksumIn(int adjustment);
|
||||
bool computeChecksumIn(const std::string& currentLine_);
|
||||
bool computeChecksumOut(const std::string& beautifiedLine);
|
||||
bool computeChecksumIn(std::string_view currentLine_);
|
||||
bool computeChecksumOut(std::string_view beautifiedLine);
|
||||
bool addBracesToStatement();
|
||||
bool removeBracesFromStatement();
|
||||
bool commentAndHeaderFollows();
|
||||
@@ -768,22 +799,22 @@ private: // functions
|
||||
bool isClosingHeader(const std::string* header) const;
|
||||
bool isCurrentBraceBroken() const;
|
||||
bool isDereferenceOrAddressOf() const;
|
||||
bool isExecSQL(const std::string& line, size_t index) const;
|
||||
bool isEmptyLine(const std::string& line) const;
|
||||
bool isExecSQL(std::string_view line, size_t index) const;
|
||||
bool isEmptyLine(std::string_view line) const;
|
||||
bool isExternC() const;
|
||||
bool isMultiStatementLine() const;
|
||||
bool isNextWordSharpNonParenHeader(int startChar) const;
|
||||
bool isNonInStatementArrayBrace() const;
|
||||
bool isNumericVariable(const std::string& word) const;
|
||||
bool isNumericVariable(std::string_view word) const;
|
||||
bool isOkToSplitFormattedLine();
|
||||
bool isPointerOrReference() const;
|
||||
bool isPointerOrReferenceCentered() const;
|
||||
bool isPointerOrReferenceVariable(const std::string& word) const;
|
||||
bool isPointerToPointer(const std::string& line, int currPos) const;
|
||||
bool isPointerOrReferenceVariable(std::string_view word) const;
|
||||
bool isPointerToPointer(std::string_view line, int currPos) const;
|
||||
bool isSharpStyleWithParen(const std::string* header) const;
|
||||
bool isStructAccessModified(const std::string& firstLine, size_t index) const;
|
||||
bool isIndentablePreprocessorBlock(const std::string& firstLine, size_t index);
|
||||
bool isNDefPreprocStatement(const std::string& nextLine_, const std::string& preproc) const;
|
||||
bool isNDefPreprocStatement(std::string_view nextLine_, std::string_view preproc) const;
|
||||
bool isUnaryOperator() const;
|
||||
bool isUniformInitializerBrace() const;
|
||||
bool isImmediatelyPostCast() const;
|
||||
@@ -796,19 +827,19 @@ private: // functions
|
||||
int findObjCColonAlignment() const;
|
||||
int getCurrentLineCommentAdjustment();
|
||||
int getNextLineCommentAdjustment();
|
||||
int isOneLineBlockReached(const std::string& line, int startChar) const;
|
||||
int isOneLineBlockReached(std::string_view line, int startChar) const;
|
||||
void adjustComments();
|
||||
void appendChar(char ch, bool canBreakLine);
|
||||
void appendCharInsideComments();
|
||||
void appendClosingHeader();
|
||||
void appendOperator(const std::string& sequence, bool canBreakLine = true);
|
||||
void appendSequence(const std::string& sequence, bool canBreakLine = true);
|
||||
void appendOperator(std::string_view sequence, bool canBreakLine = true);
|
||||
void appendSequence(std::string_view sequence, bool canBreakLine = true);
|
||||
void appendSpacePad();
|
||||
void appendSpaceAfter();
|
||||
void breakLine(bool isSplitLine = false);
|
||||
void buildLanguageVectors();
|
||||
void updateFormattedLineSplitPoints(char appendedChar);
|
||||
void updateFormattedLineSplitPointsOperator(const std::string& sequence);
|
||||
void updateFormattedLineSplitPointsOperator(std::string_view sequence);
|
||||
void checkIfTemplateOpener();
|
||||
void clearFormattedLineSplitPoints();
|
||||
void convertTabToSpaces();
|
||||
@@ -841,7 +872,7 @@ private: // functions
|
||||
void padObjCParamType();
|
||||
void padObjCReturnType();
|
||||
void padOperators(const std::string* newOperator);
|
||||
void padParensOrBrackets(char openDelim, char closeDelim, bool shouldPadParensOutside, bool shouldPadParensInside, bool shouldUnPadParens, bool shouldPadFirstParen);
|
||||
void padParensOrBrackets(char openDelim, char closeDelim, bool padFirstParen);
|
||||
void processPreprocessor();
|
||||
void resetEndOfStatement();
|
||||
void setAttachClosingBraceMode(bool state);
|
||||
@@ -850,13 +881,13 @@ private: // functions
|
||||
void trimContinuationLine();
|
||||
void updateFormattedLineSplitPointsPointerOrReference(size_t index);
|
||||
size_t findFormattedLineSplitPoint() const;
|
||||
size_t findNextChar(const std::string& line, char searchChar, int searchStart = 0) const;
|
||||
const std::string* checkForHeaderFollowingComment(const std::string& firstLine) const;
|
||||
size_t findNextChar(std::string_view line, char searchChar, int searchStart = 0) const;
|
||||
const std::string* checkForHeaderFollowingComment(std::string_view firstLine) const;
|
||||
const std::string* getFollowingOperator() const;
|
||||
std::string getPreviousWord(const std::string& line, int currPos) const;
|
||||
std::string peekNextText(const std::string& firstLine,
|
||||
bool endOnEmptyLine = false,
|
||||
const std::shared_ptr<ASPeekStream>& streamArg = nullptr) const;
|
||||
std::string getPreviousWord(const std::string& line, int currPos, bool allowDots = false) const;
|
||||
std::string peekNextText(std::string_view firstLine,
|
||||
bool endOnEmptyLine = false,
|
||||
const std::shared_ptr<ASPeekStream>& streamArg = nullptr) const;
|
||||
|
||||
private: // variables
|
||||
int formatterFileType;
|
||||
@@ -883,6 +914,7 @@ private: // variables
|
||||
std::string readyFormattedLine;
|
||||
std::string verbatimDelimiter;
|
||||
const std::string* currentHeader;
|
||||
const std::string* previousHeader;
|
||||
char currentChar;
|
||||
char previousChar;
|
||||
char previousNonWSChar;
|
||||
@@ -899,8 +931,9 @@ private: // variables
|
||||
int templateDepth;
|
||||
int squareBracketCount;
|
||||
int parenthesesCount;
|
||||
int squeezeEmptyLineNum;
|
||||
int squeezeEmptyLineCount;
|
||||
int closingBracesCount;
|
||||
size_t squeezeEmptyLineNum;
|
||||
size_t squeezeEmptyLineCount;
|
||||
|
||||
size_t checksumIn;
|
||||
size_t checksumOut;
|
||||
@@ -933,12 +966,16 @@ private: // variables
|
||||
ReferenceAlign referenceAlignment;
|
||||
ObjCColonPad objCColonPadMode;
|
||||
LineEndFormat lineEnd;
|
||||
NegationPaddingMode negationPadMode;
|
||||
IncludeDirectivePaddingMode includeDirectivePaddingMode;
|
||||
|
||||
bool isVirgin;
|
||||
bool isInVirginLine;
|
||||
bool shouldPadCommas;
|
||||
bool shouldPadOperators;
|
||||
bool shouldPadParensOutside;
|
||||
bool shouldPadFirstParen;
|
||||
bool shouldPadEmptyParens;
|
||||
bool shouldPadParensInside;
|
||||
bool shouldPadHeader;
|
||||
bool shouldStripCommentPrefix;
|
||||
@@ -993,7 +1030,7 @@ private: // variables
|
||||
bool isFormattingModeOff;
|
||||
bool isInEnum;
|
||||
bool isInStruct;
|
||||
bool isInContinuedPreProc;
|
||||
bool isInContinuedPreProc;
|
||||
bool isInExecSQL;
|
||||
bool isInAsm;
|
||||
bool isInAsmOneLine;
|
||||
@@ -1031,7 +1068,7 @@ private: // variables
|
||||
bool shouldBreakClosingHeaderBraces;
|
||||
bool shouldBreakElseIfs;
|
||||
bool shouldBreakLineAfterLogical;
|
||||
bool shouldAddBraces;
|
||||
int shouldAddBraces;
|
||||
bool shouldAddOneLineBraces;
|
||||
bool shouldRemoveBraces;
|
||||
bool shouldPadMethodColon;
|
||||
@@ -1083,15 +1120,20 @@ private: // variables
|
||||
bool isFirstPreprocConditional;
|
||||
bool processedFirstConditional;
|
||||
bool isJavaStaticConstructor;
|
||||
bool isInAllocator;
|
||||
bool isInMultlineStatement;
|
||||
int isInExplicitBlock;
|
||||
|
||||
private: // inline functions
|
||||
// append the CURRENT character (curentChar) to the current formatted line.
|
||||
// append the CURRENT character (currentChar) to the current formatted line.
|
||||
void appendCurrentChar(bool canBreakLine = true)
|
||||
{ appendChar(currentChar, canBreakLine); }
|
||||
|
||||
// check if a specific sequence exists in the current placement of the current line
|
||||
bool isSequenceReached(const char* sequence) const
|
||||
{ return currentLine.compare(charNum, strlen(sequence), sequence) == 0; }
|
||||
bool isSequenceReached(std::string_view sequence) const
|
||||
{
|
||||
return currentLine.compare(charNum, sequence.length(), sequence) == 0;
|
||||
}
|
||||
|
||||
// call ASBase::findHeader for the current character
|
||||
const std::string* findHeader(const std::vector<const std::string*>* headers_)
|
||||
|
||||
+215
-304
@@ -34,6 +34,7 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "astyle_main.h"
|
||||
#include "astyle.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cerrno>
|
||||
@@ -46,6 +47,10 @@
|
||||
#ifdef _WIN32
|
||||
#undef UNICODE // use ASCII windows functions
|
||||
#include <Windows.h>
|
||||
|
||||
#include <io.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#else
|
||||
#include <dirent.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -94,7 +99,7 @@ namespace astyle {
|
||||
jmethodID g_mid;
|
||||
#endif
|
||||
|
||||
const char* g_version = "3.4";
|
||||
const char* g_version = ASTYLE_VERSION;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// ASStreamIterator class
|
||||
@@ -107,9 +112,7 @@ ASStreamIterator<T>::ASStreamIterator(T* in)
|
||||
{
|
||||
inStream = in;
|
||||
buffer.reserve(200);
|
||||
eolWindows = 0;
|
||||
eolLinux = 0;
|
||||
eolMacOld = 0;
|
||||
|
||||
peekStart = 0;
|
||||
prevLineDeleted = false;
|
||||
checkForEmptyLine = false;
|
||||
@@ -174,6 +177,10 @@ std::string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
lastOutputEOL.clear();
|
||||
lastOutputEOL.append(1, ch);
|
||||
|
||||
int peekCh = inStream->peek();
|
||||
|
||||
// find input end-of-line characters
|
||||
@@ -183,21 +190,17 @@ std::string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
|
||||
{
|
||||
if (peekCh == '\n')
|
||||
{
|
||||
lastOutputEOL.append(1, peekCh);
|
||||
inStream->get();
|
||||
eolWindows++;
|
||||
}
|
||||
else
|
||||
eolMacOld++;
|
||||
}
|
||||
else // LF is Linux, allow for improbable LF/CR
|
||||
{
|
||||
if (peekCh == '\r')
|
||||
{
|
||||
lastOutputEOL.append(1, peekCh);
|
||||
inStream->get();
|
||||
eolWindows++;
|
||||
}
|
||||
else
|
||||
eolLinux++;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -205,29 +208,6 @@ std::string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
|
||||
inStream->clear();
|
||||
}
|
||||
|
||||
// has not detected an input end of line
|
||||
if (!eolWindows && !eolLinux && !eolMacOld)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
eolWindows++;
|
||||
#else
|
||||
eolLinux++;
|
||||
#endif
|
||||
}
|
||||
|
||||
// set output end of line characters
|
||||
if (eolWindows >= eolLinux)
|
||||
{
|
||||
if (eolWindows >= eolMacOld)
|
||||
outputEOL = "\r\n"; // Windows (CR+LF)
|
||||
else
|
||||
outputEOL = "\r"; // MacOld (CR)
|
||||
}
|
||||
else if (eolLinux >= eolMacOld)
|
||||
outputEOL = "\n"; // Linux (LF)
|
||||
else
|
||||
outputEOL = "\r"; // MacOld (CR)
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
@@ -295,33 +275,6 @@ std::streamoff ASStreamIterator<T>::tellg()
|
||||
return inStream->tellg();
|
||||
}
|
||||
|
||||
// check for a change in line ends
|
||||
template<typename T>
|
||||
bool ASStreamIterator<T>::getLineEndChange(int lineEndFormat) const
|
||||
{
|
||||
assert(lineEndFormat == LINEEND_DEFAULT
|
||||
|| lineEndFormat == LINEEND_WINDOWS
|
||||
|| lineEndFormat == LINEEND_LINUX
|
||||
|| lineEndFormat == LINEEND_MACOLD);
|
||||
|
||||
bool lineEndChange = false;
|
||||
if (lineEndFormat == LINEEND_WINDOWS)
|
||||
lineEndChange = (eolLinux + eolMacOld != 0);
|
||||
else if (lineEndFormat == LINEEND_LINUX)
|
||||
lineEndChange = (eolWindows + eolMacOld != 0);
|
||||
else if (lineEndFormat == LINEEND_MACOLD)
|
||||
lineEndChange = (eolWindows + eolLinux != 0);
|
||||
else
|
||||
{
|
||||
if (eolWindows > 0)
|
||||
lineEndChange = (eolLinux + eolMacOld != 0);
|
||||
else if (eolLinux > 0)
|
||||
lineEndChange = (eolWindows + eolMacOld != 0);
|
||||
else if (eolMacOld > 0)
|
||||
lineEndChange = (eolWindows + eolLinux != 0);
|
||||
}
|
||||
return lineEndChange;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// ASConsole class
|
||||
@@ -348,7 +301,6 @@ ASConsole::ASConsole(ASFormatter& formatterArg) : formatter(formatterArg)
|
||||
bypassBrowserOpen = false;
|
||||
hasWildcard = false;
|
||||
filesAreIdentical = true;
|
||||
lineEndsMixed = false;
|
||||
origSuffix = ".orig";
|
||||
mainDirectoryLength = 0;
|
||||
filesFormatted = 0;
|
||||
@@ -356,127 +308,42 @@ ASConsole::ASConsole(ASFormatter& formatterArg) : formatter(formatterArg)
|
||||
linesOut = 0;
|
||||
}
|
||||
|
||||
// rewrite a stringstream converting the line ends
|
||||
void ASConsole::convertLineEnds(std::ostringstream& out, int lineEnd)
|
||||
{
|
||||
assert(lineEnd == LINEEND_WINDOWS || lineEnd == LINEEND_LINUX || lineEnd == LINEEND_MACOLD);
|
||||
const std::string& inStr = out.str(); // avoids strange looking syntax
|
||||
std::string outStr; // the converted output
|
||||
int inLength = (int) inStr.length();
|
||||
for (int pos = 0; pos < inLength; pos++)
|
||||
{
|
||||
if (inStr[pos] == '\r')
|
||||
{
|
||||
if (inStr[pos + 1] == '\n')
|
||||
{
|
||||
// CRLF
|
||||
if (lineEnd == LINEEND_CR)
|
||||
{
|
||||
outStr += inStr[pos]; // Delete the LF
|
||||
pos++;
|
||||
continue;
|
||||
}
|
||||
if (lineEnd == LINEEND_LF)
|
||||
{
|
||||
outStr += inStr[pos + 1]; // Delete the CR
|
||||
pos++;
|
||||
continue;
|
||||
}
|
||||
outStr += inStr[pos]; // Do not change
|
||||
outStr += inStr[pos + 1];
|
||||
pos++;
|
||||
continue;
|
||||
}
|
||||
else // NOLINT
|
||||
{
|
||||
// CR
|
||||
if (lineEnd == LINEEND_CRLF)
|
||||
{
|
||||
outStr += inStr[pos]; // Insert the CR
|
||||
outStr += '\n'; // Insert the LF
|
||||
continue;
|
||||
}
|
||||
if (lineEnd == LINEEND_LF)
|
||||
{
|
||||
outStr += '\n'; // Insert the LF
|
||||
continue;
|
||||
}
|
||||
outStr += inStr[pos]; // Do not change
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else if (inStr[pos] == '\n')
|
||||
{
|
||||
// LF
|
||||
if (lineEnd == LINEEND_CRLF)
|
||||
{
|
||||
outStr += '\r'; // Insert the CR
|
||||
outStr += inStr[pos]; // Insert the LF
|
||||
continue;
|
||||
}
|
||||
if (lineEnd == LINEEND_CR)
|
||||
{
|
||||
outStr += '\r'; // Insert the CR
|
||||
continue;
|
||||
}
|
||||
outStr += inStr[pos]; // Do not change
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
outStr += inStr[pos]; // Write the current char
|
||||
}
|
||||
}
|
||||
// replace the stream
|
||||
out.str(outStr);
|
||||
}
|
||||
|
||||
void ASConsole::correctMixedLineEnds(std::ostringstream& out)
|
||||
{
|
||||
LineEndFormat lineEndFormat = LINEEND_DEFAULT;
|
||||
if (outputEOL == "\r\n")
|
||||
lineEndFormat = LINEEND_WINDOWS;
|
||||
if (outputEOL == "\n")
|
||||
lineEndFormat = LINEEND_LINUX;
|
||||
if (outputEOL == "\r")
|
||||
lineEndFormat = LINEEND_MACOLD;
|
||||
convertLineEnds(out, lineEndFormat);
|
||||
}
|
||||
|
||||
// check files for 16 or 32 bit encoding
|
||||
// the file must have a Byte Order Mark (BOM)
|
||||
// NOTE: some string functions don't work with NULLs (e.g. length())
|
||||
FileEncoding ASConsole::detectEncoding(const char* data, size_t dataSize) const
|
||||
{
|
||||
if (dataSize >= 3 && memcmp(data, "\xEF\xBB\xBF", 3) == 0)
|
||||
{
|
||||
return UTF_8BOM;
|
||||
}
|
||||
if (dataSize >= 3 && memcmp(data, "\xEF\xBB\xBF", 3) == 0)
|
||||
{
|
||||
return UTF_8BOM;
|
||||
}
|
||||
|
||||
if (dataSize >= 4)
|
||||
{
|
||||
if (memcmp(data, "\x00\x00\xFE\xFF", 4) == 0)
|
||||
{
|
||||
return UTF_32BE;
|
||||
}
|
||||
else if (memcmp(data, "\xFF\xFE\x00\x00", 4) == 0)
|
||||
{
|
||||
return UTF_32LE;
|
||||
}
|
||||
}
|
||||
if (dataSize >= 4)
|
||||
{
|
||||
if (memcmp(data, "\x00\x00\xFE\xFF", 4) == 0)
|
||||
{
|
||||
return UTF_32BE;
|
||||
}
|
||||
else if (memcmp(data, "\xFF\xFE\x00\x00", 4) == 0)
|
||||
{
|
||||
return UTF_32LE;
|
||||
}
|
||||
}
|
||||
|
||||
if (dataSize >= 2)
|
||||
{
|
||||
if (memcmp(data, "\xFE\xFF", 2) == 0)
|
||||
{
|
||||
return UTF_16BE;
|
||||
}
|
||||
else if (memcmp(data, "\xFF\xFE", 2) == 0)
|
||||
{
|
||||
return UTF_16LE;
|
||||
}
|
||||
}
|
||||
return ENCODING_8BIT;
|
||||
if (dataSize >= 2)
|
||||
{
|
||||
if (memcmp(data, "\xFE\xFF", 2) == 0)
|
||||
{
|
||||
return UTF_16BE;
|
||||
}
|
||||
else if (memcmp(data, "\xFF\xFE", 2) == 0)
|
||||
{
|
||||
return UTF_16LE;
|
||||
}
|
||||
}
|
||||
return ENCODING_8BIT;
|
||||
}
|
||||
|
||||
// error exit without a message
|
||||
@@ -520,6 +387,13 @@ void ASConsole::formatCinToCout()
|
||||
// Copying the input sequentially to a stringstream before
|
||||
// formatting solves the problem for both.
|
||||
std::istream* inStream = &std::cin;
|
||||
|
||||
// enforce binary mode to avoid auto conversion of \n to \r\n
|
||||
#ifdef _WIN32
|
||||
_setmode( _fileno( stdout ), _O_BINARY );
|
||||
_setmode( _fileno( stdin ), _O_BINARY );
|
||||
#endif
|
||||
|
||||
std::stringstream outStream;
|
||||
char ch;
|
||||
inStream->get(ch);
|
||||
@@ -529,22 +403,21 @@ void ASConsole::formatCinToCout()
|
||||
inStream->get(ch);
|
||||
}
|
||||
ASStreamIterator<std::stringstream> streamIterator(&outStream);
|
||||
// Windows pipe or redirection always outputs Windows line-ends.
|
||||
// Linux pipe or redirection will output any line end.
|
||||
#ifdef _WIN32
|
||||
LineEndFormat lineEndFormat = LINEEND_DEFAULT;
|
||||
#else
|
||||
LineEndFormat lineEndFormat = formatter.getLineEndFormat();
|
||||
#endif // _WIN32
|
||||
initializeOutputEOL(lineEndFormat);
|
||||
|
||||
initializeOutputEOL(formatter.getLineEndFormat());
|
||||
formatter.init(&streamIterator);
|
||||
|
||||
|
||||
while (formatter.hasMoreLines())
|
||||
{
|
||||
std::cout << formatter.nextLine();
|
||||
|
||||
if (LINEEND_DEFAULT == formatter.getLineEndFormat()){
|
||||
outputEOL = streamIterator.getLastOutputEOL();
|
||||
}
|
||||
|
||||
if (formatter.hasMoreLines())
|
||||
{
|
||||
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
|
||||
std::cout << outputEOL;
|
||||
}
|
||||
else
|
||||
@@ -552,7 +425,6 @@ void ASConsole::formatCinToCout()
|
||||
// this can happen if the file if missing a closing brace and break-blocks is requested
|
||||
if (formatter.getIsLineReady())
|
||||
{
|
||||
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
|
||||
std::cout << outputEOL;
|
||||
std::cout << formatter.nextLine();
|
||||
}
|
||||
@@ -587,8 +459,8 @@ void ASConsole::formatFile(const std::string& fileName_)
|
||||
// set line end format
|
||||
std::string nextLine; // next output line
|
||||
filesAreIdentical = true; // input and output files are identical
|
||||
LineEndFormat lineEndFormat = formatter.getLineEndFormat();
|
||||
initializeOutputEOL(lineEndFormat);
|
||||
|
||||
initializeOutputEOL(formatter.getLineEndFormat());
|
||||
// do this AFTER setting the file mode
|
||||
ASStreamIterator<std::stringstream> streamIterator(&in);
|
||||
formatter.init(&streamIterator);
|
||||
@@ -599,9 +471,13 @@ void ASConsole::formatFile(const std::string& fileName_)
|
||||
nextLine = formatter.nextLine();
|
||||
out << nextLine;
|
||||
linesOut++;
|
||||
|
||||
if (LINEEND_DEFAULT == formatter.getLineEndFormat()){
|
||||
outputEOL = streamIterator.getLastOutputEOL();
|
||||
}
|
||||
|
||||
if (formatter.hasMoreLines())
|
||||
{
|
||||
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
|
||||
out << outputEOL;
|
||||
}
|
||||
else
|
||||
@@ -610,7 +486,6 @@ void ASConsole::formatFile(const std::string& fileName_)
|
||||
// this can happen if the file if missing a closing brace and break-blocks is requested
|
||||
if (formatter.getIsLineReady())
|
||||
{
|
||||
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
|
||||
out << outputEOL;
|
||||
nextLine = formatter.nextLine();
|
||||
out << nextLine;
|
||||
@@ -619,42 +494,30 @@ void ASConsole::formatFile(const std::string& fileName_)
|
||||
}
|
||||
}
|
||||
|
||||
if (filesAreIdentical)
|
||||
{
|
||||
if (streamIterator.checkForEmptyLine)
|
||||
{
|
||||
if (nextLine.find_first_not_of(" \t") != std::string::npos)
|
||||
filesAreIdentical = false;
|
||||
}
|
||||
else if (!streamIterator.compareToInputBuffer(nextLine))
|
||||
filesAreIdentical = false;
|
||||
streamIterator.checkForEmptyLine = false;
|
||||
if (filesAreIdentical) {
|
||||
if (streamIterator.checkForEmptyLine) {
|
||||
filesAreIdentical = (nextLine.find_first_not_of(" \t") == std::string::npos);
|
||||
} else {
|
||||
filesAreIdentical = streamIterator.compareToInputBuffer(nextLine) &&
|
||||
(LINEEND_DEFAULT == formatter.getLineEndFormat() || streamIterator.getLastOutputEOL() == outputEOL);
|
||||
}
|
||||
streamIterator.checkForEmptyLine = false;
|
||||
}
|
||||
}
|
||||
// correct for mixed line ends
|
||||
if (lineEndsMixed)
|
||||
{
|
||||
correctMixedLineEnds(out);
|
||||
filesAreIdentical = false;
|
||||
}
|
||||
|
||||
// remove targetDirectory from filename if required by print
|
||||
std::string displayName;
|
||||
std::string displayName(fileName_);
|
||||
if (hasWildcard)
|
||||
displayName = fileName_.substr(targetDirectory.length() + 1);
|
||||
else
|
||||
displayName = fileName_;
|
||||
|
||||
// if file has changed, write the new file
|
||||
if (!filesAreIdentical || streamIterator.getLineEndChange(lineEndFormat))
|
||||
if (!filesAreIdentical)
|
||||
{
|
||||
if (!isDryRun)
|
||||
writeFile(fileName_, encoding, out);
|
||||
printMsg(_("Formatted %s\n"), displayName);
|
||||
filesFormatted++;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
if (!isFormattedOnly)
|
||||
printMsg(_("Unchanged %s\n"), displayName);
|
||||
filesUnchanged++;
|
||||
@@ -690,14 +553,17 @@ std::string ASConsole::findProjectOptionFilePath(const std::string& fileName_) c
|
||||
if (endPath != std::string::npos)
|
||||
{
|
||||
first.erase(endPath + 1, std::string::npos);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
first = ".";
|
||||
first.push_back(g_fileSeparator);
|
||||
}
|
||||
}
|
||||
|
||||
parent = getFullPathName(first);
|
||||
if (parent[parent.size()] != g_fileSeparator) {
|
||||
if (parent[parent.size()] != g_fileSeparator)
|
||||
{
|
||||
parent.push_back(g_fileSeparator);
|
||||
}
|
||||
|
||||
@@ -795,10 +661,6 @@ bool ASConsole::getIsRecursive() const
|
||||
bool ASConsole::getIsVerbose() const
|
||||
{ return isVerbose; }
|
||||
|
||||
// for unit testing
|
||||
bool ASConsole::getLineEndsMixed() const
|
||||
{ return lineEndsMixed; }
|
||||
|
||||
// for unit testing
|
||||
bool ASConsole::getNoBackup() const
|
||||
{ return noBackup; }
|
||||
@@ -915,9 +777,7 @@ void ASConsole::initializeOutputEOL(LineEndFormat lineEndFormat)
|
||||
|| lineEndFormat == LINEEND_LINUX
|
||||
|| lineEndFormat == LINEEND_MACOLD);
|
||||
|
||||
outputEOL.clear(); // current line end
|
||||
prevEOL.clear(); // previous line end
|
||||
lineEndsMixed = false; // output has mixed line ends, LINEEND_DEFAULT only
|
||||
outputEOL = "\n";
|
||||
|
||||
if (lineEndFormat == LINEEND_WINDOWS)
|
||||
outputEOL = "\r\n";
|
||||
@@ -925,8 +785,6 @@ void ASConsole::initializeOutputEOL(LineEndFormat lineEndFormat)
|
||||
outputEOL = "\n";
|
||||
else if (lineEndFormat == LINEEND_MACOLD)
|
||||
outputEOL = "\r";
|
||||
else
|
||||
outputEOL.clear();
|
||||
}
|
||||
|
||||
// read a file into the stringstream 'in'
|
||||
@@ -1018,28 +876,6 @@ void ASConsole::setStdPathIn(const std::string& path)
|
||||
void ASConsole::setStdPathOut(const std::string& path)
|
||||
{ stdPathOut = path; }
|
||||
|
||||
// set outputEOL variable
|
||||
void ASConsole::setOutputEOL(LineEndFormat lineEndFormat, const std::string& currentEOL)
|
||||
{
|
||||
if (lineEndFormat == LINEEND_DEFAULT)
|
||||
{
|
||||
outputEOL = currentEOL;
|
||||
if (prevEOL.empty())
|
||||
prevEOL = outputEOL;
|
||||
if (prevEOL != outputEOL)
|
||||
{
|
||||
lineEndsMixed = true;
|
||||
filesAreIdentical = false;
|
||||
prevEOL = outputEOL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
prevEOL = currentEOL;
|
||||
if (prevEOL != outputEOL)
|
||||
filesAreIdentical = false;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef _WIN32 // Windows specific
|
||||
|
||||
@@ -1337,6 +1173,7 @@ void ASConsole::getFileNames(const std::string& directory, const std::vector<std
|
||||
{
|
||||
// get file status
|
||||
std::string entryFilepath = directory + g_fileSeparator + entry->d_name;
|
||||
|
||||
if (stat(entryFilepath.c_str(), &statbuf) != 0)
|
||||
{
|
||||
if (errno == EOVERFLOW) // file over 2 GB is OK
|
||||
@@ -1513,7 +1350,7 @@ bool ASConsole::isHomeOrInvalidAbsPath(const std::string& absPath) const
|
||||
if (env == nullptr)
|
||||
return true;
|
||||
|
||||
return (absPath.compare(env) == 0 || absPath=="/" );
|
||||
return (absPath.compare(env) == 0 || absPath == "/" );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1698,8 +1535,10 @@ void ASConsole::getFilePaths(const std::string& filePath)
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// verify a single file is not a directory (needed on Linux)
|
||||
std::string entryFilepath = targetDirectory + g_fileSeparator + targetFilename;
|
||||
|
||||
struct stat statbuf;
|
||||
if (stat(entryFilepath.c_str(), &statbuf) == 0 && (statbuf.st_mode & S_IFREG))
|
||||
fileName.emplace_back(entryFilepath);
|
||||
@@ -2084,6 +1923,20 @@ void ASConsole::printHelp() const
|
||||
std::cout << " --pad-comma OR -xg\n";
|
||||
std::cout << " Insert space padding after commas.\n";
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << " --pad-include\n";
|
||||
std::cout << " Insert space padding after include directives.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --pad-include=none\n";
|
||||
std::cout << " Remove space padding after include directives.\n";
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << " --pad-negation\n";
|
||||
std::cout << " Insert space padding after negations.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --pad-negation=before\n";
|
||||
std::cout << " Insert space padding also before negations.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --pad-paren OR -P\n";
|
||||
std::cout << " Insert space padding around parenthesis on both the outside\n";
|
||||
std::cout << " and the inside.\n";
|
||||
@@ -2098,6 +1951,10 @@ void ASConsole::printHelp() const
|
||||
std::cout << " --pad-paren-in OR -D\n";
|
||||
std::cout << " Insert space padding around parenthesis on the inside only.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --pad-empty-paren OR -xo\n";
|
||||
std::cout << " Apply padding to empty pairs of parentheses; combine with other\n";
|
||||
std::cout << " parenthesis padding options.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --pad-header OR -H\n";
|
||||
std::cout << " Insert space padding after paren headers (e.g. 'if', 'for'...).\n";
|
||||
std::cout << std::endl;
|
||||
@@ -2108,10 +1965,16 @@ void ASConsole::printHelp() const
|
||||
|
||||
std::cout << " --pad-brackets\n";
|
||||
std::cout << " Insert space padding around square brackets on both the outside\n";
|
||||
std::cout << " and the inside (experimental).\n";
|
||||
std::cout << " and the inside.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --pad-brackets-in\n";
|
||||
std::cout << " Insert space padding around square brackets on the inside only.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --pad-brackets-out\n";
|
||||
std::cout << " Insert space padding around square brackets on the outside only.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --unpad-brackets\n";
|
||||
std::cout << " Remove unnecessary space padding around square brackets (experimental).\n";
|
||||
std::cout << " Remove unnecessary space padding around square brackets.\n";
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << " --delete-empty-lines OR -xe\n";
|
||||
@@ -2123,10 +1986,10 @@ void ASConsole::printHelp() const
|
||||
std::cout << " previous lines.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --squeeze-lines=#\n";
|
||||
std::cout << " Remove superfluous empty lines exceeding the given number (experimental).\n";
|
||||
std::cout << " Remove superfluous empty lines exceeding the given number.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --squeeze-ws\n";
|
||||
std::cout << " Remove superfluous whitespace (experimental).\n";
|
||||
std::cout << " Remove superfluous whitespace.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --align-pointer=type OR -k1\n";
|
||||
std::cout << " --align-pointer=middle OR -k2\n";
|
||||
@@ -2158,6 +2021,7 @@ void ASConsole::printHelp() const
|
||||
std::cout << " statement residing on the same line.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --add-braces OR -j\n";
|
||||
std::cout << " --add-braces=nested (experimental)\n";
|
||||
std::cout << " Add braces to unbraced one line conditional statements.\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --add-one-line-braces OR -J\n";
|
||||
@@ -2218,6 +2082,9 @@ void ASConsole::printHelp() const
|
||||
std::cout << " --mode=js\n";
|
||||
std::cout << " Indent a JavaScript source file (experimental).\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << " --mode=gsc\n";
|
||||
std::cout << " Indent a GSC source file (experimental).\n";
|
||||
std::cout << std::endl;
|
||||
std::cout << "Objective-C Options:\n";
|
||||
std::cout << "--------------------\n";
|
||||
std::cout << " --pad-method-prefix OR -xQ\n";
|
||||
@@ -2361,8 +2228,11 @@ void ASConsole::processFiles()
|
||||
getFilePaths(fileNameVectorName);
|
||||
|
||||
// loop thru fileName vector formatting the files
|
||||
for (const std::string& file : fileName)
|
||||
formatFile(file);
|
||||
for (const std::string& file : fileName) {
|
||||
if (!stringEndsWith(file, origSuffix))
|
||||
formatFile(file);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// files are processed, display stats
|
||||
@@ -2547,8 +2417,7 @@ void ASConsole::processOptions(const std::vector<std::string>& argvOptions)
|
||||
assert(strcmp(buf, "\xEF\xBB\xBF") == 0);
|
||||
}
|
||||
options.importOptions(optionsIn, fileOptionsVector);
|
||||
ok = options.parseOptions(fileOptionsVector,
|
||||
std::string(_("Invalid default options:")));
|
||||
ok = options.parseOptions(fileOptionsVector);
|
||||
}
|
||||
else if (optionFileRequired)
|
||||
error(_("Cannot open default option file"), optionFileName.c_str());
|
||||
@@ -2574,8 +2443,7 @@ void ASConsole::processOptions(const std::vector<std::string>& argvOptions)
|
||||
assert(strcmp(buf, "\xEF\xBB\xBF") == 0);
|
||||
}
|
||||
options.importOptions(projectOptionsIn, projectOptionsVector);
|
||||
ok = options.parseOptions(projectOptionsVector,
|
||||
std::string(_("Invalid project options:")));
|
||||
ok = options.parseOptions(projectOptionsVector);
|
||||
}
|
||||
|
||||
if (!ok)
|
||||
@@ -2586,8 +2454,7 @@ void ASConsole::processOptions(const std::vector<std::string>& argvOptions)
|
||||
}
|
||||
|
||||
// parse the command line options vector for errors
|
||||
ok = options.parseOptions(optionsVector,
|
||||
std::string(_("Invalid command line options:")));
|
||||
ok = options.parseOptions(optionsVector);
|
||||
if (!ok)
|
||||
{
|
||||
(*errorStream) << options.getOptionErrors();
|
||||
@@ -2784,7 +2651,7 @@ void ASConsole::sleep(int seconds) const
|
||||
while (clock() < endwait) {}
|
||||
}
|
||||
|
||||
bool ASConsole::stringEndsWith(const std::string& str, const std::string& suffix) const
|
||||
bool ASConsole::stringEndsWith(std::string_view str, std::string_view suffix) const
|
||||
{
|
||||
int strIndex = (int) str.length() - 1;
|
||||
int suffixIndex = (int) suffix.length() - 1;
|
||||
@@ -3085,7 +2952,7 @@ ASOptions::ASOptions(ASFormatter& formatterArg, ASConsole& consoleArg)
|
||||
*
|
||||
* @return true if no errors, false if errors
|
||||
*/
|
||||
bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std::string& errorInfo)
|
||||
bool ASOptions::parseOptions(std::vector<std::string>& optionsVector)
|
||||
{
|
||||
std::vector<std::string>::iterator option;
|
||||
std::string arg;
|
||||
@@ -3097,7 +2964,7 @@ bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std:
|
||||
arg = *option;
|
||||
|
||||
if (arg.compare(0, 2, "--") == 0)
|
||||
parseOption(arg.substr(2), errorInfo);
|
||||
parseOption(arg.substr(2));
|
||||
else if (arg[0] == '-')
|
||||
{
|
||||
size_t i;
|
||||
@@ -3109,19 +2976,19 @@ bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std:
|
||||
&& arg[i - 1] != 'x')
|
||||
{
|
||||
// parse the previous option in subArg
|
||||
parseOption(subArg, errorInfo);
|
||||
parseOption(subArg);
|
||||
subArg = "";
|
||||
}
|
||||
// append the current option to subArg
|
||||
subArg.append(1, arg[i]);
|
||||
}
|
||||
// parse the last option
|
||||
parseOption(subArg, errorInfo);
|
||||
parseOption(subArg);
|
||||
subArg = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
parseOption(arg, errorInfo);
|
||||
parseOption(arg);
|
||||
subArg = "";
|
||||
}
|
||||
}
|
||||
@@ -3130,8 +2997,11 @@ bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std:
|
||||
return true;
|
||||
}
|
||||
|
||||
void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo)
|
||||
void ASOptions::parseOption(const std::string& arg)
|
||||
{
|
||||
NegationPaddingMode negationPaddingMode = NEGATION_PAD_NO_CHANGE;
|
||||
IncludeDirectivePaddingMode includeDirectivePaddingMode = INCLUDE_PAD_NO_CHANGE;
|
||||
|
||||
if (isOption(arg, "A1", "style=allman") || isOption(arg, "style=bsd") || isOption(arg, "style=break"))
|
||||
{
|
||||
formatter.setFormattingStyle(STYLE_ALLMAN);
|
||||
@@ -3218,10 +3088,15 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
formatter.setModeManuallySet(true);
|
||||
}
|
||||
else if (isOption(arg, "mode=objc"))
|
||||
{
|
||||
formatter.setObjCStyle();
|
||||
formatter.setModeManuallySet(true);
|
||||
}
|
||||
{
|
||||
formatter.setObjCStyle();
|
||||
formatter.setModeManuallySet(true);
|
||||
}
|
||||
else if (isOption(arg, "mode=ghc") || isOption(arg, "mode=gsc"))
|
||||
{
|
||||
formatter.setGSCStyle();
|
||||
formatter.setModeManuallySet(true);
|
||||
}
|
||||
else if (isParamOption(arg, "t", "indent=tab="))
|
||||
{
|
||||
int spaceNum = 4;
|
||||
@@ -3229,7 +3104,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (spaceNumParam.length() > 0)
|
||||
spaceNum = atoi(spaceNumParam.c_str());
|
||||
if (spaceNum < 2 || spaceNum > 20)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
{
|
||||
formatter.setTabIndentation(spaceNum, false);
|
||||
@@ -3246,7 +3121,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (spaceNumParam.length() > 0)
|
||||
spaceNum = atoi(spaceNumParam.c_str());
|
||||
if (spaceNum < 2 || spaceNum > 20)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
{
|
||||
formatter.setTabIndentation(spaceNum, true);
|
||||
@@ -3263,7 +3138,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (tabNumParam.length() > 0)
|
||||
tabNum = atoi(tabNumParam.c_str());
|
||||
if (tabNum < 2 || tabNum > 20)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
{
|
||||
formatter.setForceTabXIndentation(tabNum);
|
||||
@@ -3280,7 +3155,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (spaceNumParam.length() > 0)
|
||||
spaceNum = atoi(spaceNumParam.c_str());
|
||||
if (spaceNum < 2 || spaceNum > 20)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
{
|
||||
formatter.setSpaceIndentation(spaceNum);
|
||||
@@ -3297,9 +3172,9 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (contIndentParam.length() > 0)
|
||||
contIndent = atoi(contIndentParam.c_str());
|
||||
if (contIndent < 0)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else if (contIndent > 4)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
formatter.setContinuationIndentation(contIndent);
|
||||
}
|
||||
@@ -3310,7 +3185,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (minIndentParam.length() > 0)
|
||||
minIndent = atoi(minIndentParam.c_str());
|
||||
if (minIndent >= MINCOND_END)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
formatter.setMinConditionalIndentOption(minIndent);
|
||||
}
|
||||
@@ -3321,7 +3196,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (maxIndentParam.length() > 0)
|
||||
maxIndent = atoi(maxIndentParam.c_str());
|
||||
if (maxIndent < 40)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
formatter.setMaxContinuationIndentLength(maxIndent);
|
||||
}
|
||||
@@ -3390,6 +3265,10 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
{
|
||||
formatter.setParensFirstPaddingMode(true);
|
||||
}
|
||||
else if (isOption(arg, "xo", "pad-empty-paren"))
|
||||
{
|
||||
formatter.setEmptyParensPaddingMode(true);
|
||||
}
|
||||
else if (isOption(arg, "D", "pad-paren-in"))
|
||||
{
|
||||
formatter.setParensInsidePaddingMode(true);
|
||||
@@ -3406,6 +3285,22 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
{
|
||||
formatter.setOperatorPaddingMode(true);
|
||||
}
|
||||
else if (isOption(arg, "pad-negation"))
|
||||
{
|
||||
negationPaddingMode = NEGATION_PAD_AFTER;
|
||||
}
|
||||
else if (isOption(arg, "pad-negation=before"))
|
||||
{
|
||||
negationPaddingMode = NEGATION_PAD_BEFORE;
|
||||
}
|
||||
else if (isOption(arg, "pad-include"))
|
||||
{
|
||||
includeDirectivePaddingMode = INCLUDE_PAD_AFTER;
|
||||
}
|
||||
else if (isOption(arg, "pad-include=none"))
|
||||
{
|
||||
includeDirectivePaddingMode = INCLUDE_PAD_NONE;
|
||||
}
|
||||
else if (isOption(arg, "xg", "pad-comma"))
|
||||
{
|
||||
formatter.setCommaPaddingMode(true);
|
||||
@@ -3414,6 +3309,17 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
{
|
||||
formatter.setDeleteEmptyLinesMode(true);
|
||||
}
|
||||
else if (isParamOption(arg, "squeeze-lines="))
|
||||
{
|
||||
int keepEmptyLines = 2;
|
||||
std::string keepEmptyLinesParam = getParam(arg, "squeeze-lines=");
|
||||
if (keepEmptyLinesParam.length() > 0)
|
||||
keepEmptyLines = atoi(keepEmptyLinesParam.c_str());
|
||||
if (keepEmptyLines < 1)
|
||||
isOptionError(arg);
|
||||
else
|
||||
formatter.setSqueezeEmptyLinesNumber(keepEmptyLines);
|
||||
}
|
||||
else if (isOption(arg, "E", "fill-empty-lines"))
|
||||
{
|
||||
formatter.setEmptyLineFill(true);
|
||||
@@ -3443,9 +3349,13 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
{
|
||||
formatter.setBreakOneLineHeadersMode(true);
|
||||
}
|
||||
else if (isOption(arg, "add-braces=nested"))
|
||||
{
|
||||
formatter.setAddBracesMode(2);
|
||||
}
|
||||
else if (isOption(arg, "j", "add-braces"))
|
||||
{
|
||||
formatter.setAddBracesMode(true);
|
||||
formatter.setAddBracesMode(1);
|
||||
}
|
||||
else if (isOption(arg, "J", "add-one-line-braces"))
|
||||
{
|
||||
@@ -3478,7 +3388,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (styleParam.length() > 0)
|
||||
align = atoi(styleParam.c_str());
|
||||
if (align < 1 || align > 3)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else if (align == 1)
|
||||
formatter.setPointerAlignment(PTR_ALIGN_TYPE);
|
||||
else if (align == 2)
|
||||
@@ -3509,7 +3419,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (styleParam.length() > 0)
|
||||
align = atoi(styleParam.c_str());
|
||||
if (align < 0 || align > 3)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else if (align == 0)
|
||||
formatter.setReferenceAlignment(REF_ALIGN_NONE);
|
||||
else if (align == 1)
|
||||
@@ -3526,9 +3436,9 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (maxLengthParam.length() > 0)
|
||||
maxLength = atoi(maxLengthParam.c_str());
|
||||
if (maxLength < 50)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else if (maxLength > 200)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
formatter.setMaxCodeLength(maxLength);
|
||||
}
|
||||
@@ -3539,7 +3449,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
if (maxLengthParam.length() > 0)
|
||||
maxLength = atoi(maxLengthParam.c_str());
|
||||
if (maxLength > 200)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else
|
||||
formatter.setMaxCodeLength(maxLength);
|
||||
}
|
||||
@@ -3588,17 +3498,21 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
|
||||
formatter.setAttachReturnTypeDecl(true);
|
||||
}
|
||||
// To avoid compiler limit of blocks nested too deep.
|
||||
else if (!parseOptionContinued(arg, errorInfo))
|
||||
else if (!parseOptionContinued(arg))
|
||||
{
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
}
|
||||
|
||||
formatter.setNegationPaddingMode(negationPaddingMode);
|
||||
formatter.setIncludeDirectivePaddingMode(includeDirectivePaddingMode);
|
||||
|
||||
} // End of parseOption function
|
||||
|
||||
// Continuation of parseOption.
|
||||
// To avoid compiler limit of blocks nested too deep.
|
||||
// Return 'true' if the option was found and processed.
|
||||
// Return 'false' if the option was not found.
|
||||
bool ASOptions::parseOptionContinued(const std::string& arg, const std::string& errorInfo)
|
||||
bool ASOptions::parseOptionContinued(const std::string& arg)
|
||||
{
|
||||
// Objective-C options
|
||||
if (isOption(arg, "xQ", "pad-method-prefix"))
|
||||
@@ -3728,7 +3642,7 @@ bool ASOptions::parseOptionContinued(const std::string& arg, const std::string&
|
||||
if (lineendParam.length() > 0)
|
||||
lineendType = atoi(lineendParam.c_str());
|
||||
if (lineendType < 1 || lineendType > 3)
|
||||
isOptionError(arg, errorInfo);
|
||||
isOptionError(arg);
|
||||
else if (lineendType == 1)
|
||||
formatter.setLineEndFormat(LINEEND_WINDOWS);
|
||||
else if (lineendType == 2)
|
||||
@@ -3737,25 +3651,22 @@ bool ASOptions::parseOptionContinued(const std::string& arg, const std::string&
|
||||
formatter.setLineEndFormat(LINEEND_MACOLD);
|
||||
}
|
||||
else if (isOption(arg, "squeeze-ws"))
|
||||
{
|
||||
formatter.setSqueezeWhitespace(true);
|
||||
}
|
||||
else if (isParamOption(arg, "squeeze-lines="))
|
||||
{
|
||||
int keepEmptyLines = 2;
|
||||
std::string keepEmptyLinesParam = getParam(arg, "squeeze-lines=");
|
||||
if (keepEmptyLinesParam.length() > 0)
|
||||
keepEmptyLines = atoi(keepEmptyLinesParam.c_str());
|
||||
if (keepEmptyLines < 1)
|
||||
isOptionError(arg, errorInfo);
|
||||
else
|
||||
formatter.setSqueezeEmptyLinesNumber(keepEmptyLines);
|
||||
}
|
||||
{
|
||||
formatter.setSqueezeWhitespace(true);
|
||||
}
|
||||
else if (isOption(arg, "pad-brackets"))
|
||||
{
|
||||
formatter.setBracketsOutsidePaddingMode(true);
|
||||
formatter.setBracketsInsidePaddingMode(true);
|
||||
}
|
||||
else if (isOption(arg, "pad-brackets-in"))
|
||||
{
|
||||
formatter.setBracketsInsidePaddingMode(true);
|
||||
}
|
||||
else if (isOption(arg, "pad-brackets-out"))
|
||||
{
|
||||
formatter.setBracketsOutsidePaddingMode(true);
|
||||
}
|
||||
else if (isOption(arg, "unpad-brackets"))
|
||||
{
|
||||
formatter.setBracketsUnPaddingMode(true);
|
||||
@@ -3846,10 +3757,10 @@ bool ASOptions::isOption(const std::string& arg, const char* op1, const char* op
|
||||
return (isOption(arg, op1) || isOption(arg, op2));
|
||||
}
|
||||
|
||||
void ASOptions::isOptionError(const std::string& arg, const std::string& errorInfo)
|
||||
void ASOptions::isOptionError(const std::string& arg)
|
||||
{
|
||||
if (optionErrors.str().length() == 0)
|
||||
optionErrors << errorInfo << std::endl; // need main error message
|
||||
optionErrors << "Invalid Artistic Style options:" << std::endl; // need main error message
|
||||
optionErrors << "\t" << arg << std::endl;
|
||||
}
|
||||
|
||||
@@ -4302,7 +4213,7 @@ extern "C" EXPORT char* STDCALL AStyleMain(const char* pSourceIn, // the source
|
||||
|
||||
options.importOptions(opt, optionsVector);
|
||||
|
||||
bool ok = options.parseOptions(optionsVector, "Invalid Artistic Style options:");
|
||||
bool ok = options.parseOptions(optionsVector);
|
||||
if (!ok)
|
||||
fpErrorHandler(130, options.getOptionErrors().c_str());
|
||||
|
||||
@@ -4315,13 +4226,13 @@ extern "C" EXPORT char* STDCALL AStyleMain(const char* pSourceIn, // the source
|
||||
{
|
||||
out << formatter.nextLine();
|
||||
if (formatter.hasMoreLines())
|
||||
out << streamIterator.getOutputEOL();
|
||||
out << streamIterator.getLastOutputEOL();
|
||||
else
|
||||
{
|
||||
// this can happen if the file if missing a closing brace and break-blocks is requested
|
||||
if (formatter.getIsLineReady())
|
||||
{
|
||||
out << streamIterator.getOutputEOL();
|
||||
out << streamIterator.getLastOutputEOL();
|
||||
out << formatter.nextLine();
|
||||
}
|
||||
}
|
||||
|
||||
+12
-16
@@ -108,7 +108,7 @@ public:
|
||||
public: // function declarations
|
||||
explicit ASStreamIterator(T* in);
|
||||
~ASStreamIterator() override;
|
||||
bool getLineEndChange(int lineEndFormat) const;
|
||||
|
||||
int getStreamLength() const override;
|
||||
std::string nextLine(bool emptyLineWasDeleted) override;
|
||||
std::string peekNextLine() override;
|
||||
@@ -120,10 +120,8 @@ private:
|
||||
T* inStream; // pointer to the input stream
|
||||
std::string buffer; // current input line
|
||||
std::string prevBuffer; // previous input line
|
||||
std::string outputEOL; // next output end of line char
|
||||
int eolWindows; // number of Windows line endings, CRLF
|
||||
int eolLinux; // number of Linux line endings, LF
|
||||
int eolMacOld; // number of old Mac line endings. CR
|
||||
std::string lastOutputEOL; // next output end of line char
|
||||
|
||||
std::streamoff streamLength; // length of the input file stream
|
||||
std::streamoff peekStart; // starting position for peekNextLine
|
||||
bool prevLineDeleted; // the previous input line was deleted
|
||||
@@ -131,7 +129,7 @@ private:
|
||||
public: // inline functions
|
||||
bool compareToInputBuffer(const std::string& nextLine_) const
|
||||
{ return (nextLine_ == prevBuffer); }
|
||||
const std::string& getOutputEOL() const { return outputEOL; }
|
||||
const std::string& getLastOutputEOL() const { return lastOutputEOL; }
|
||||
std::streamoff getPeekStart() const override { return peekStart; }
|
||||
bool hasMoreLines() const override { return !inStream->eof(); }
|
||||
};
|
||||
@@ -181,7 +179,7 @@ public:
|
||||
#endif
|
||||
std::string getOptionErrors() const;
|
||||
void importOptions(std::stringstream& in, std::vector<std::string>& optionsVector);
|
||||
bool parseOptions(std::vector<std::string>& optionsVector, const std::string& errorInfo);
|
||||
bool parseOptions(std::vector<std::string>& optionsVector);
|
||||
|
||||
private:
|
||||
// variables
|
||||
@@ -196,11 +194,11 @@ private:
|
||||
std::string getParam(const std::string& arg, const char* op1, const char* op2);
|
||||
bool isOption(const std::string& arg, const char* op);
|
||||
bool isOption(const std::string& arg, const char* op1, const char* op2);
|
||||
void isOptionError(const std::string& arg, const std::string& errorInfo);
|
||||
void isOptionError(const std::string& arg);
|
||||
bool isParamOption(const std::string& arg, const char* option);
|
||||
bool isParamOption(const std::string& arg, const char* option1, const char* option2);
|
||||
void parseOption(const std::string& arg, const std::string& errorInfo);
|
||||
bool parseOptionContinued(const std::string& arg, const std::string& errorInfo);
|
||||
void parseOption(const std::string& arg);
|
||||
bool parseOptionContinued(const std::string& arg);
|
||||
};
|
||||
|
||||
#ifndef ASTYLE_LIB
|
||||
@@ -234,11 +232,10 @@ private: // variables
|
||||
bool filesAreIdentical; // input and output files are identical
|
||||
int filesFormatted; // number of files formatted
|
||||
int filesUnchanged; // number of files unchanged
|
||||
bool lineEndsMixed; // output has mixed line ends
|
||||
int linesOut; // number of output lines
|
||||
|
||||
std::string outputEOL; // current line end
|
||||
std::string prevEOL; // previous line end
|
||||
|
||||
std::string astyleExePath; // absolute executable path and name from argv[0]
|
||||
std::string optionFileName; // file path and name of the options file
|
||||
std::string origSuffix; // suffix= option
|
||||
@@ -260,7 +257,7 @@ public: // functions
|
||||
explicit ASConsole(ASFormatter& formatterArg);
|
||||
ASConsole(const ASConsole&) = delete;
|
||||
ASConsole& operator=(ASConsole const&) = delete;
|
||||
void convertLineEnds(std::ostringstream& out, int lineEnd);
|
||||
|
||||
FileEncoding detectEncoding(const char* data, size_t dataSize) const;
|
||||
void error() const;
|
||||
void error(const char* why, const char* what) const;
|
||||
@@ -309,7 +306,7 @@ public: // functions
|
||||
void setStdPathIn(const std::string& path);
|
||||
void setStdPathOut(const std::string& path);
|
||||
void standardizePath(std::string& path, bool removeBeginningSeparator = false) const;
|
||||
bool stringEndsWith(const std::string& str, const std::string& suffix) const;
|
||||
bool stringEndsWith(std::string_view str, std::string_view suffix) const;
|
||||
void updateExcludeVector(const std::string& suffixParam);
|
||||
std::vector<std::string> getExcludeVector() const;
|
||||
std::vector<bool> getExcludeHitsVector() const;
|
||||
@@ -320,7 +317,7 @@ public: // functions
|
||||
std::vector<std::string> getFileName() const;
|
||||
|
||||
private: // functions
|
||||
void correctMixedLineEnds(std::ostringstream& out);
|
||||
|
||||
void formatFile(const std::string& fileName_);
|
||||
std::string getParentDirectory(const std::string& absPath) const;
|
||||
std::string findProjectOptionFilePath(const std::string& fileName_) const;
|
||||
@@ -345,7 +342,6 @@ private: // functions
|
||||
FileEncoding readFile(const std::string& fileName_, std::stringstream& in) const;
|
||||
void removeFile(const char* fileName_, const char* errMsg) const;
|
||||
void renameFile(const char* oldFileName, const char* newFileName, const char* errMsg) const;
|
||||
void setOutputEOL(LineEndFormat lineEndFormat, const std::string& currentEOL);
|
||||
void sleep(int seconds) const;
|
||||
int waitForRemove(const char* newFileName) const;
|
||||
int wildcmp(const char* wild, const char* data) const;
|
||||
|
||||
+14
-14
@@ -14,27 +14,27 @@
|
||||
|
||||
<h1>Artistic Style Developer Information</h1>
|
||||
|
||||
<h2 class="large">Objective‑C on Windows and Linux</h2>
|
||||
<h2 class="large"><span style="white-space: nowrap;">Objective-C</span> on Windows and Linux</h2>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p class="noindent">
|
||||
The best platform for developing Objective‑C is Mac OS. But Objective‑C programs can also be compiled
|
||||
and run on Windows or Linux by using GNUstep and an Objective‑C compiler. GNUstep is an object-oriented
|
||||
library that provides the programmer with a range of libraries and utilities for building Objective‑C
|
||||
The best platform for developing <span style="white-space: nowrap;">Objective-C</span> is Mac OS. But <span style="white-space: nowrap;">Objective-C</span> programs can also be compiled
|
||||
and run on Windows or Linux by using GNUstep and an <span style="white-space: nowrap;">Objective-C</span> compiler. GNUstep is an object-oriented
|
||||
library that provides the programmer with a range of libraries and utilities for building <span style="white-space: nowrap;">Objective-C</span>
|
||||
applications. GNUstep is generally compatible with recent developments of the MacOS (Cocoa) API.</p>
|
||||
<p class="noindent">
|
||||
Objective‑C development environments are not readily available on Windows or Linux.
|
||||
CodeBlocks can be used if additional options are set and an Objective-C compiler is used.. The Example program
|
||||
<span style="white-space: nowrap;">Objective-C</span> development environments are not readily available on Windows or Linux.
|
||||
CodeBlocks can be used if additional options are set and an <span style="white-space: nowrap;">Objective-C</span> compiler is used.. The Example program
|
||||
can also be compiled by using a text editor with compile capability such as SciTE. Or it may be compiled from
|
||||
the command line. Or scripts can be written using Python, Batch, Bash, or other scripting languages. Compile options
|
||||
for each platform are included in the following descriptions.</p>
|
||||
|
||||
<h3>Objective‑C on Windows</h3>
|
||||
<h3><span style="white-space: nowrap;">Objective-C</span> on Windows</h3>
|
||||
|
||||
<p>
|
||||
Objective‑C on Windows requires the GNUstep packages and the MinGW compiler. Installing MinGW is optional
|
||||
since it is included with GNUstep. If MinGW is installed separately be sure to include the Objective‑C compiler
|
||||
<span style="white-space: nowrap;">Objective-C</span> on Windows requires the GNUstep packages and the MinGW compiler. Installing MinGW is optional
|
||||
since it is included with GNUstep. If MinGW is installed separately be sure to include the <span style="white-space: nowrap;">Objective-C</span> compiler
|
||||
package. The GNUstep installation packages are available at the <a href="http://www.gnustep.org/experience/Windows.html">
|
||||
GNUstep Windows Installer</a> page. For development you will need GNUstep MSYS, GNUstep Core, and GNUstep
|
||||
Devel. GNUstep Cairo is optional. For now, it is best to use the "stable" packages.</p>
|
||||
@@ -48,7 +48,7 @@
|
||||
the menu display will be separate from the application window. This can be changed by running the "System Preferences"
|
||||
program and selecting Themes > WinUXThem. Most applications will then display a window with a menu at the top
|
||||
as in Windows. <a href="http://www.gnustep.it/enrico/gworkspace/">GWorkspace</a> is a fairly large application
|
||||
that includes source code. It can be used as a reference for Objective‑C coding. The GNUstep MSYS shell
|
||||
that includes source code. It can be used as a reference for <span style="white-space: nowrap;">Objective-C</span> coding. The GNUstep MSYS shell
|
||||
must be used for the compile since Autoconf is used. There are INSTALL instructions in the top-level GWorkspace
|
||||
directory.</p>
|
||||
<p>
|
||||
@@ -70,12 +70,12 @@
|
||||
The compiled Example will run as any other console program. If Artistic Style is linked as a DLL it must be in
|
||||
the same directory as the example, or in another system path directory.</p>
|
||||
|
||||
<h3>Objective‑C on Linux</h3>
|
||||
<h3><span style="white-space: nowrap;">Objective-C</span> on Linux</h3>
|
||||
|
||||
<p>
|
||||
Objective‑C on Linux requires the GNUstep packages and the GCC or Clang compiler. On many systems GNUstep
|
||||
<span style="white-space: nowrap;">Objective-C</span> on Linux requires the GNUstep packages and the GCC or Clang compiler. On many systems GNUstep
|
||||
will be available as a packaged install. For a typical installation the gobjc, gobjc++, gnustep, and
|
||||
gnustep-core-devel packages are needed. The gobjc packages are the Objective‑C compilers for GCC. If packages
|
||||
gnustep-core-devel packages are needed. The gobjc packages are the <span style="white-space: nowrap;">Objective-C</span> compilers for GCC. If packages
|
||||
are not available they can be compiled with source code available at the
|
||||
<a href="http://www.gnustep.org/">GNUstep</a> website.</p>
|
||||
<p>
|
||||
@@ -84,7 +84,7 @@
|
||||
application menu display is separate from the application window. This can NOT be changed with "System Preferences"
|
||||
as on Windows. <a href="http://www.gnustep.it/enrico/gworkspace/">GWorkspace</a>
|
||||
is a fairly large application that includes source code if downloaded from the website. It can be used as a reference
|
||||
for Objective‑C coding. There are INSTALL instructions in the top-level GWorkspace directory.</p>
|
||||
for <span style="white-space: nowrap;">Objective-C</span> coding. There are INSTALL instructions in the top-level GWorkspace directory.</p>
|
||||
<p>
|
||||
To compile the Artistic Style Example program the GNUstep development packages must be installed. Artistic Style
|
||||
should be compiled as a shared or static library for linking with the example. In the following options the "-L./"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</p>
|
||||
<p class="noindent">
|
||||
Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical
|
||||
User Interface (GUI). The shared library can be called from a C++, Objective‑C, C#, or Python program. There
|
||||
User Interface (GUI). The shared library can be called from a C++, <span style="white-space: nowrap;">Objective-C</span>, C#, or Python program. There
|
||||
are also compile options for a Java Native Interface (JNI) that allows it to be called from a Java program. Information
|
||||
on compiling the various configurations of Artistic Style is in the Install Information.</p>
|
||||
<p class="noindent">
|
||||
@@ -50,12 +50,12 @@
|
||||
as a shared or static library from a C++ program. It includes a C++ sample program that can be used to test the
|
||||
Artistic Style libraries.</p>
|
||||
<p>
|
||||
<a href="objc.html">Calling Artistic Style from an Objective-C Program</a> contains information on calling Artistic
|
||||
Style as a shared or static library from an Objective-C program. It includes an Objective-C sample program that
|
||||
<a href="objc.html">Calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span> Program</a> contains information on calling Artistic
|
||||
Style as a shared or static library from an <span style="white-space: nowrap;">Objective-C</span> program. It includes an <span style="white-space: nowrap;">Objective-C</span> sample program that
|
||||
can be used to test the Artistic Style shared libraries.</p>
|
||||
<p style="margin-left: 0.5in;">
|
||||
<a href="gnustep.html">Objective‑C on Windows and Linux</a> contains information on compiling and running
|
||||
Objective-C programs using GNUstep. It has instructions for compiling the Example program on Windows or
|
||||
<a href="gnustep.html"><span style="white-space: nowrap;">Objective-C</span> on Windows and Linux</a> contains information on compiling and running
|
||||
<span style="white-space: nowrap;">Objective-C</span> programs using GNUstep. It has instructions for compiling the Example program on Windows or
|
||||
Linux.</p>
|
||||
<p>
|
||||
<a href="jni.html">Calling Artistic Style as a Java Native Interface</a> contains information on calling Artistic
|
||||
@@ -99,13 +99,13 @@
|
||||
|
||||
<h4>
|
||||
<a href="https://sourceforge.net/projects/astyle/files/OldFiles/examples/example-objc.zip" target="_blank"
|
||||
title="open new window">Objective‑C Example</a>
|
||||
title="open new window"><span style="white-space: nowrap;">Objective-C</span> Example</a>
|
||||
</h4>
|
||||
|
||||
<p>
|
||||
The example for Objective‑C contains the methods to call Artistic Style from a static or shared library
|
||||
using an Objective‑C program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
|
||||
Copy the shared library to the same folder as the Objective‑C Example executable. It will format files in
|
||||
The example for <span style="white-space: nowrap;">Objective-C</span> contains the methods to call Artistic Style from a static or shared library
|
||||
using an <span style="white-space: nowrap;">Objective-C</span> program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
|
||||
Copy the shared library to the same folder as the <span style="white-space: nowrap;">Objective-C</span> Example executable. It will format files in
|
||||
the test‑data directory included in the download.</p>
|
||||
|
||||
<h4>
|
||||
|
||||
@@ -15,20 +15,20 @@
|
||||
|
||||
<h1>Artistic Style Developer Information</h1>
|
||||
|
||||
<h2 class="large">Calling Artistic Style from an Objective‑C Program</h2>
|
||||
<h2 class="large">Calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span> Program</h2>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
<p class="noindent">
|
||||
Artistic Style can be compiled as a shared library (DLL) or a static library and linked with an Objective‑C
|
||||
program. This is usually done on a Mac OS computer. However, <a href="gnustep.html">Objective‑C on Windows
|
||||
and Linux</a> contains information on compiling and running Objective‑C programs using GNUstep. It has
|
||||
Artistic Style can be compiled as a shared library (DLL) or a static library and linked with an <span style="white-space: nowrap;">Objective-C</span>
|
||||
program. This is usually done on a Mac OS computer. However, <a href="gnustep.html"><span style="white-space: nowrap;">Objective-C</span> on Windows
|
||||
and Linux</a> contains information on compiling and running <span style="white-space: nowrap;">Objective-C</span> programs using GNUstep. It has
|
||||
instructions for compiling the following example program on Windows or Linux.</p>
|
||||
|
||||
<h3>Compile Options</h3>
|
||||
|
||||
<p>
|
||||
To compile AStyle for use with an Objective‑C program the compile option ASTYLE_LIB must be defined. Then
|
||||
To compile AStyle for use with an <span style="white-space: nowrap;">Objective-C</span> program the compile option ASTYLE_LIB must be defined. Then
|
||||
AStyle will accept the files and options as parameters from a function call. It is the responsibility of the calling
|
||||
program to read the source files and accept the options from the user via a graphical interface or other method.
|
||||
These are then passed via the function call. After the source files are formatted they will be returned to the
|
||||
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Creates a new test case for a single long option
|
||||
# if the string begins as flag the second part is stored in OPTS
|
||||
|
||||
# Examples:
|
||||
# ./gen_old_file.sh style_kr
|
||||
# ./gen_old_file.sh flag_attach-namespaces
|
||||
|
||||
# Loop through the command-line arguments
|
||||
for arg in "$@"; do
|
||||
# Split each argument into 'name' and 'value'
|
||||
IFS="_" read -r name value <<< "$arg"
|
||||
dirName="$arg"
|
||||
mkdir -p "$dirName"
|
||||
|
||||
arg="--$name=$value"
|
||||
|
||||
if [ "$name" = "flag" ]; then
|
||||
arg="--$value"
|
||||
echo "$arg" > "$dirName/OPTS"
|
||||
fi
|
||||
|
||||
# call the astyle version here which is considered as reference for the future
|
||||
astyle_ref "$arg" < tmp.cpp > "$dirName/tmp.cpp.old"
|
||||
done
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
# run all test cases in the current directory
|
||||
# it assumes a source file produced by a previous astyle version to compare with the output of the current
|
||||
#
|
||||
|
||||
for dir in */
|
||||
do
|
||||
dir=${dir%*/} # remove the trailing "/"
|
||||
|
||||
# make string an array
|
||||
cmd_arg=(${dir//_/ })
|
||||
|
||||
# default arg=val based on directory name
|
||||
arg="--${cmd_arg[0]}=${cmd_arg[1]}"
|
||||
|
||||
# custom arguments
|
||||
if [ -f "$dir/OPTS" ]; then
|
||||
arg=$(<"$dir/OPTS")
|
||||
fi
|
||||
|
||||
# call the latest astyle here
|
||||
../../AStyle/build_local/astyle --squeeze-lines=1 "$arg" < tmp.cpp > "$dir/tmp.cpp.new"
|
||||
diff $dir/tmp.cpp.old $dir/tmp.cpp.new
|
||||
if [ $? -eq 0 ]; then
|
||||
rm "$dir/tmp.cpp.new"
|
||||
else
|
||||
echo "${dir} -> FAILED"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
@@ -0,0 +1,290 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,320 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct // Structure declaration
|
||||
{
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0)
|
||||
{
|
||||
cout << "x is positive" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c)
|
||||
{
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x)
|
||||
{
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do
|
||||
{
|
||||
x2 = 1;
|
||||
}
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp)
|
||||
{
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
|
||||
{
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_position (wp, validate);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating)
|
||||
{
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]()
|
||||
{
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx
|
||||
{
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo)
|
||||
{
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2)
|
||||
{
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
def();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s
|
||||
{
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,320 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct // Structure declaration
|
||||
{
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0)
|
||||
{
|
||||
cout << "x is positive" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c)
|
||||
{
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x)
|
||||
{
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do
|
||||
{
|
||||
x2 = 1;
|
||||
}
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp)
|
||||
{
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
|
||||
{
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_position (wp, validate);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating)
|
||||
{
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]()
|
||||
{
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx
|
||||
{
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo)
|
||||
{
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2)
|
||||
{
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
def();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s
|
||||
{
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass {
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display() {
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main() {
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c) {
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate) {
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void) {
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path) {
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this] {
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test") {
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q) {
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn() {
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main() {
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,280 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{ cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{ // Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct // Structure declaration
|
||||
{ int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0)
|
||||
{ cout << "x is positive" << endl;
|
||||
}
|
||||
else
|
||||
{ cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++)
|
||||
{ cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c)
|
||||
{ func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x)
|
||||
{ someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do
|
||||
{ x2 = 1;
|
||||
}
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{ return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{ int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{ return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{ return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{ return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{ return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{ int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{ FOR_ALL_TAB_WINDOWS (tp, wp)
|
||||
{ if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
|
||||
{ if (tp == curtab)
|
||||
{ ui_ext_win_position (wp, validate);
|
||||
}
|
||||
else
|
||||
{ ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab)
|
||||
{ ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{ win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating)
|
||||
{ res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{ m_futureMIText = std::async(std::launch::async, [ = ]()
|
||||
{
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{ some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx
|
||||
{ int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{ return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo)
|
||||
{ case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2:
|
||||
{ a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{ some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{ while (true)
|
||||
{ new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2)
|
||||
{ abc();
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{ def();
|
||||
}
|
||||
}
|
||||
else
|
||||
{ xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{ xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s
|
||||
{
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct
|
||||
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct
|
||||
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{ uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass {
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display() {
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main() {
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c) {
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate) {
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void) {
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path) {
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this] {
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test") {
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q) {
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn() {
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main() {
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,290 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,290 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,231 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass {
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display() {
|
||||
cout << "MyValue: " << myValue << endl; }
|
||||
private:
|
||||
int myValue; };
|
||||
|
||||
int main() {
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl; }
|
||||
else {
|
||||
cout << "x is non-positive" << endl; }
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl; }
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0; } }
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1; }
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0; }
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b) {
|
||||
return a + b; }
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
|
||||
int x = 1 * 2;
|
||||
return; }
|
||||
|
||||
int fdfd(int* t) {
|
||||
return 1; }
|
||||
|
||||
if (*f(xss) < mx) {
|
||||
return 1; }
|
||||
|
||||
if (**f(xss) < mx) {
|
||||
return 1; }
|
||||
if (t * f(xss) < mx) {
|
||||
return 1; }
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c) {
|
||||
int* p = (int*)& _mem; }
|
||||
|
||||
void win_ui_flush (bool validate) {
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate); }
|
||||
else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false; } }
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp); } } }
|
||||
|
||||
win_T* lastwin_nofloating (void) {
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev; }
|
||||
|
||||
return res; }
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path) {
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str(); }).share(); }
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this] {
|
||||
some_code(argument); })
|
||||
, member3(42)
|
||||
, member4("test") {}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c; };
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q) {
|
||||
return; }
|
||||
|
||||
int main(void) {
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break; } }
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0; }
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn() {
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
])); }
|
||||
|
||||
int main() {
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def(); } }
|
||||
else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz(); } } }
|
||||
return 0; }
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y] },
|
||||
ia {new int [y] }
|
||||
{} }
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void); }
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void); }
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void); }
|
||||
@@ -0,0 +1,296 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct // Structure declaration
|
||||
{
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx
|
||||
{
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s
|
||||
{
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{ cout << "MyValue: " << myValue << endl; }
|
||||
private:
|
||||
int myValue; };
|
||||
|
||||
int main()
|
||||
{ // Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct // Structure declaration
|
||||
{ int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0)
|
||||
{ cout << "x is positive" << endl; }
|
||||
else
|
||||
{ cout << "x is non-positive" << endl; }
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++)
|
||||
{ cout << "Iteration " << i + 1 << endl; }
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c)
|
||||
{ func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x)
|
||||
{ someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0; } }
|
||||
|
||||
int x2;
|
||||
|
||||
do
|
||||
{ x2 = 1; }
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0; }
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{ return a + b; }
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{ int x = 1 * 2;
|
||||
return; }
|
||||
|
||||
int fdfd(int* t)
|
||||
{ return 1; }
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{ return 1; }
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{ return 1; }
|
||||
if (t * f(xss) < mx)
|
||||
{ return 1; }
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{ int* p = (int*)& _mem; }
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{ FOR_ALL_TAB_WINDOWS (tp, wp)
|
||||
{ if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
|
||||
{ if (tp == curtab)
|
||||
{ ui_ext_win_position (wp, validate); }
|
||||
else
|
||||
{ ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false; } }
|
||||
|
||||
if (tp == curtab)
|
||||
{ ui_ext_win_viewport (wp); } } }
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{ win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating)
|
||||
{ res = res->w_prev; }
|
||||
|
||||
return res; }
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{ m_futureMIText = std::async(std::launch::async, [ = ]()
|
||||
{
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str(); }).share(); }
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{ some_code(argument); })
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{}
|
||||
|
||||
struct xxxx
|
||||
{ int a, b, c; };
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{ return; }
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo)
|
||||
{ case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2:
|
||||
{ a += 2;
|
||||
break; } }
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0; }
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{ some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
])); }
|
||||
|
||||
int main()
|
||||
{ while (true)
|
||||
{ new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2)
|
||||
{ abc();
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{ def(); } }
|
||||
else
|
||||
{ xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{ xyz(); } } }
|
||||
return 0; }
|
||||
|
||||
struct s
|
||||
{
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y] },
|
||||
ia {new int [y] }
|
||||
{} }
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct
|
||||
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void); }
|
||||
|
||||
struct
|
||||
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void); }
|
||||
|
||||
typedef struct
|
||||
{ uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void); }
|
||||
@@ -0,0 +1,275 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass {
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display() {
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main() {
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
}
|
||||
else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
}
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c) {
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate) {
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
}
|
||||
else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void) {
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path) {
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this] {
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test") {
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q) {
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn() {
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main() {
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
}
|
||||
else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,293 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass {
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
}
|
||||
else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
}
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
}
|
||||
else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
}
|
||||
else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,320 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct // Structure declaration
|
||||
{
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0)
|
||||
{
|
||||
cout << "x is positive" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c)
|
||||
{
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x)
|
||||
{
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do
|
||||
{
|
||||
x2 = 1;
|
||||
}
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp)
|
||||
{
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
|
||||
{
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_position (wp, validate);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating)
|
||||
{
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]()
|
||||
{
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx
|
||||
{
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo)
|
||||
{
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2)
|
||||
{
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
def();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s
|
||||
{
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass {
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do {
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]() {
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,320 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display()
|
||||
{
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct // Structure declaration
|
||||
{
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0)
|
||||
{
|
||||
cout << "x is positive" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c)
|
||||
{
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x)
|
||||
{
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do
|
||||
{
|
||||
x2 = 1;
|
||||
}
|
||||
while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
|
||||
{
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp)
|
||||
{
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
|
||||
{
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_position (wp, validate);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab)
|
||||
{
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating)
|
||||
{
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{
|
||||
m_futureMIText = std::async(std::launch::async, [ = ]()
|
||||
{
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this]
|
||||
{
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
struct xxxx
|
||||
{
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo)
|
||||
{
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn()
|
||||
{
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2)
|
||||
{
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
def();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s
|
||||
{
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
@@ -0,0 +1,293 @@
|
||||
#include "stdafx.h"
|
||||
#include <emmintrin.h>
|
||||
#include <iostream>
|
||||
|
||||
// a badly formatted file used for CI regression tests
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Function declaration
|
||||
int add(int a, int b);
|
||||
|
||||
// Class definition
|
||||
class MyClass {
|
||||
public:
|
||||
MyClass (int value) : myValue (value ) {}
|
||||
void display() {
|
||||
cout << "MyValue: " << myValue << endl;
|
||||
}
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
int main() {
|
||||
// Variables and data types
|
||||
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
|
||||
double y, foo, bar = 3.14;
|
||||
char ch = 'A';
|
||||
bool isTrue = true;
|
||||
|
||||
struct { // Structure declaration
|
||||
int myNum; // Member (int variable)
|
||||
string myString; // Member (string variable)
|
||||
} myStructure; // Structure variable
|
||||
|
||||
// Arithmetic operations
|
||||
int result = x + 2 * (int)y;
|
||||
cout << "Result: " << result << endl;
|
||||
|
||||
// Conditional statement
|
||||
if (x > 0) {
|
||||
cout << "x is positive" << endl;
|
||||
} else {
|
||||
cout << "x is non-positive" << endl;
|
||||
}
|
||||
|
||||
// Loop
|
||||
for (int i = 0; i < 5; i++) {
|
||||
cout << "Iteration " << i + 1 << endl;
|
||||
}
|
||||
|
||||
// Function call
|
||||
int sum = add(3, 4);
|
||||
cout << "Sum: " << sum << endl;
|
||||
|
||||
// Object creation and method call
|
||||
MyClass obj(42);
|
||||
obj.display();
|
||||
|
||||
goto label;
|
||||
|
||||
label:
|
||||
|
||||
MyClass.setA1234( 1 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa()
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setB12dsadasdasdsa( 2 )
|
||||
.setC12dsdsds( 3 );
|
||||
|
||||
if (a=b=c) {
|
||||
func(a==b==c);
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
|
||||
if (x) {
|
||||
someVal = someVal2 =
|
||||
someVal3 = someVal4 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int x2;
|
||||
|
||||
do
|
||||
{
|
||||
x2 = 1;
|
||||
} while (func(foo,
|
||||
bar));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Function definition
|
||||
int add(int a, int b) {
|
||||
return a + b;
|
||||
}
|
||||
|
||||
|
||||
// Pointer alignment
|
||||
|
||||
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
|
||||
int x = 1 * 2;
|
||||
return;
|
||||
}
|
||||
|
||||
int fdfd(int* t) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (**f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
if (t * f(xss) < mx) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
int* p = (int*)& _mem;
|
||||
|
||||
void foo(int a, int c)
|
||||
{
|
||||
int* p = (int*)& _mem;
|
||||
}
|
||||
|
||||
void win_ui_flush (bool validate)
|
||||
{
|
||||
FOR_ALL_TAB_WINDOWS (tp, wp) {
|
||||
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_position (wp, validate);
|
||||
} else {
|
||||
ui_call_win_hide (wp->w_grid_alloc.handle);
|
||||
wp->w_pos_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (tp == curtab) {
|
||||
ui_ext_win_viewport (wp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
win_T* lastwin_nofloating (void)
|
||||
{
|
||||
win_T* res = lastwin;
|
||||
|
||||
while (res->w_floating) {
|
||||
res = res->w_prev;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
|
||||
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
|
||||
, m_fn(path)
|
||||
, m_path(path)
|
||||
{ m_futureMIText = std::async(std::launch::async, [ = ]()
|
||||
{
|
||||
#if USE_STATIC_MEDIAINFO
|
||||
MediaInfoLib::String filename = m_path;
|
||||
MediaInfoLib::MediaInfo MI;
|
||||
#else
|
||||
MediaInfoDLL::String filename = m_path;
|
||||
MediaInfo MI;
|
||||
#endif
|
||||
|
||||
return MI.Inform().c_str();
|
||||
}).share();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Test::Test() : member1(argument)
|
||||
, member2([this] {
|
||||
some_code(argument);
|
||||
})
|
||||
, member3(42)
|
||||
, member4("test")
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
struct xxxx {
|
||||
int a, b, c;
|
||||
};
|
||||
|
||||
(struct xxxxx *p);
|
||||
|
||||
int main(int * p, int *q)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
||||
switch (foo) {
|
||||
case 1:
|
||||
a += 1;
|
||||
break;
|
||||
case 2: {
|
||||
a += 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct xxxx *p;
|
||||
printf("sizeof p: %d\n", sizeof p);
|
||||
|
||||
int * p, *q;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
mapping someData = ([
|
||||
"key": "value",
|
||||
]);
|
||||
|
||||
void fn() {
|
||||
some_fn(([
|
||||
"key1": "/path/to/file1.c",
|
||||
"key2": "/path/to/file2.c",
|
||||
]));
|
||||
}
|
||||
|
||||
|
||||
int main() {
|
||||
while (true) {
|
||||
new int *[5]; // Remove this and everything works fine
|
||||
if (5 > 2) {
|
||||
abc();
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
def();
|
||||
}
|
||||
} else {
|
||||
xyz();
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
xyz();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct s {
|
||||
public:
|
||||
inline s() :
|
||||
size(x),
|
||||
ia {new int [y]},
|
||||
ia {new int [y]}
|
||||
{}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define MY_BITFIELD_WIDTH
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
struct {
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_1 : MY_BITFIELD_WIDTH;
|
||||
uint32_t member_2 : MY_BITFIELD_WIDTH;
|
||||
bool (*func) (void);
|
||||
}
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t member_1 : 8;
|
||||
uint32_t member_1 : 2;
|
||||
uint32_t member_2 : 3;
|
||||
bool (*func) (void);
|
||||
}
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
= Artistic Style
|
||||
|
||||
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective‑C, C# and Java programming languages.
|
||||
Written in C++, it can be used from the command line or incorporated as a library in another program.
|
||||
Artistic Style is a source code indenter, formatter, and beautifier for the C, pass:[C++], pass:[C++]/CLI, Objective‑C, C# and Java programming languages.
|
||||
Written in pass:[C++], it can be used from the command line or incorporated as a library in another program.
|
||||
Options can be entered from the command line or from an option file.
|
||||
The library version can be called from programs written in languages other that C++.
|
||||
The library version can be called from programs written in languages other than pass:[C++].
|
||||
|
||||
== Repositories
|
||||
|
||||
|
||||
Reference in New Issue
Block a user