diff --git a/Main.arc b/Main.arc new file mode 100644 index 0000000..94ce85d --- /dev/null +++ b/Main.arc @@ -0,0 +1,28 @@ +class Bar +{ + public Bool enabled + + Bar(const Bool enabled) + : enabled(enabled) + { + } +} + +UInt_8 Main(const Char_8 *args) +{ + Char_8 hello[] = "Hello, fucking world!"; + + Bar bar(true); + bar.enabled = false; + + UInt_8 test = 5, a = 2 + test = test + 25 + test = test + a + ++test + a++ + + if (test < a) + ++test + + return test +} diff --git a/include/arctyx/compiler/StackParam.h b/include/arctyx/compiler/StackParam.h index ae44cad..23b560a 100644 --- a/include/arctyx/compiler/StackParam.h +++ b/include/arctyx/compiler/StackParam.h @@ -5,7 +5,28 @@ class StackParam { private: - bool pointer; const Register *reg; + ehs::UInt_64 stackOffset; + bool pointer; +public: + StackParam(); + + StackParam(const Register *reg, bool pointer); + + StackParam(ehs::UInt_64 stackOffset, bool pointer); + + StackParam(StackParam &&other) noexcept; + + StackParam(const StackParam &other); + + StackParam &operator=(StackParam &&other) noexcept; + + StackParam &operator=(const StackParam &other); + + bool IsRegister() const; + + bool IsStack() const; + + bool IsPointer() const; }; \ No newline at end of file