move D-D to new layout
[p5sagit/Devel-Declare.git] / Declare.xs
index 7ca77ed..34652c9 100644 (file)
 # define Newx(v,n,t) New(0,v,n,t)
 #endif /* !Newx */
 
-#if 1
-#define DD_HAS_TRAITS
-#endif
-
 #if 0
 #define DD_DEBUG
 #endif
 
-#define DD_HANDLE_NAME 1
-#define DD_HANDLE_PROTO 2
-#define DD_HANDLE_PACKAGE 8
-
 #ifdef DD_DEBUG
 #define DD_DEBUG_S printf("Buffer: %s\n", s);
 #else
@@ -136,6 +128,11 @@ char* dd_get_curstash_name(pTHX) {
   return HvNAME(PL_curstash);
 }
 
+int dd_get_linestr_offset(pTHX) {
+  char* linestr = SvPVX(PL_linestr);
+  return PL_bufptr - linestr;
+}
+
 char* dd_move_past_token (pTHX_ char* s) {
 
   /*
@@ -360,6 +357,13 @@ get_curstash_name()
     RETVAL
 
 int
+get_linestr_offset()
+  CODE:
+    RETVAL = dd_get_linestr_offset(aTHX);
+  OUTPUT:
+    RETVAL
+
+int
 toke_scan_word(int offset, int handle_package)
   CODE:
     RETVAL = dd_toke_scan_word(aTHX_ offset, handle_package);